Skip to content

Instantly share code, notes, and snippets.

@RickCarlino
Last active November 7, 2017 04:52
Show Gist options
  • Save RickCarlino/199cbc2d76bffd56412768774c74ed5e to your computer and use it in GitHub Desktop.
Save RickCarlino/199cbc2d76bffd56412768774c74ed5e to your computer and use it in GitHub Desktop.
nerves error DHCP gadget stuff
➜ rpi_project git:(master) ✗ env MIX_TARGET=rpi0 mix firmware
Mix environment
MIX_TARGET: rpi0
MIX_ENV: dev
==> dhcp_server
make: Nothing to be done for 'all'.
Compiling 5 files (.ex)
== Compilation error on file lib/dhcp_server/server.ex ==
** (MatchError) no match of right hand side value: {:error, :on_load_failure}
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
22:37:14.380 [warn] The on_load function for module Elixir.DHCPServer.Server returned:
{:load_failed,
'Failed to load NIF library: \'/home/rick/code/rpi_project/_build/rpi0/dev/lib/dhcp_server/priv/dhcp_server.so: wrong ELF class: ELFCLASS32\''}
could not compile dependency :dhcp_server, "mix compile" failed. You can recompile this dependency with "mix deps.compile dhcp_server", update it with "mix deps.update dhcp_server" or clean it with "mix deps.clean dhcp_server"
➜ rpi_project git:(master) ✗ env MIX_TARGET=rpi0 mix nerves.info
Mix environment
MIX_TARGET: rpi0
MIX_ENV: dev
==> dhcp_server
make: Nothing to be done for 'all'.
Compiling 5 files (.ex)
== Compilation error on file lib/dhcp_server/server.ex ==
22:44:43.672 [warn] The on_load function for module Elixir.DHCPServer.Server returned:
{:load_failed,
'Failed to load NIF library: \'/home/rick/code/rpi_project/_build/rpi0/dev/lib/dhcp_server/priv/dhcp_server.so: wrong ELF class: ELFCLASS32\''}
** (MatchError) no match of right hand side value: {:error, :on_load_failure}
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
could not compile dependency :dhcp_server, "mix compile" failed. You can recompile this dependency with "mix deps.compile dhcp_server", update it with "mix deps.update dhcp_server" or clean it with "mix deps.clean dhcp_server"
➜ rpi_project git:(master) ✗ env MIX_TARGET=rpi0 mix nerves.info
Mix environment
MIX_TARGET: rpi0
MIX_ENV: dev
==> distillery
Compiling 19 files (.ex)
Generated distillery app
==> nerves
Compiling 28 files (.ex)
Generated nerves app
==> nerves_system_br
Generated nerves_system_br app
==> nerves_toolchain_ctng
Compiling 2 files (.ex)
Generated nerves_toolchain_ctng app
==> nerves_toolchain_armv6_rpi_linux_gnueabi
Compiling 1 file (.ex)
Generated nerves_toolchain_armv6_rpi_linux_gnueabi app
==> nerves_system_rpi0
Generated nerves_system_rpi0 app
==> socket
Compiling 11 files (.ex)
Generated socket app
==> dns
Compiling 6 files (.ex)
Generated dns app
==> mdns
Compiling 6 files (.ex)
Generated mdns app
==> system_registry
Compiling 14 files (.ex)
Generated system_registry app
==> elixir_make
Compiling 1 file (.ex)
Generated elixir_make app
==> nerves_runtime
mkdir -p priv
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -std=gnu99 -o src/uevent.o src/uevent.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -std=gnu99 -o src/erlcmd.o src/erlcmd.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc src/uevent.o src/erlcmd.o -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/lib -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/lib -lerts -lerl_interface -lei --sysroot=/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging -lmnl -o priv/uevent
Compiling 8 files (.ex)
Generated nerves_runtime app
==> nerves_firmware_ssh
Compiling 8 files (.ex)
Generated nerves_firmware_ssh app
==> elixir_ale
mkdir -p priv
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/gpio_port.o src/gpio_port.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/i2c_port.o src/i2c_port.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/ale_main.o src/ale_main.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/erlcmd.o src/erlcmd.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/spi_port.o src/spi_port.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc src/gpio_port.o src/i2c_port.o src/ale_main.o src/erlcmd.o src/spi_port.o -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/lib -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/lib -lerts -lerl_interface -lei --sysroot=/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging -o priv/ale
Compiling 4 files (.ex)
Generated elixir_ale app
==> nerves_network_interface
mkdir -p priv
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -std=c99 -D_XOPEN_SOURCE=600 -o src/erlcmd.o src/erlcmd.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -std=c99 -D_XOPEN_SOURCE=600 -o src/netif.o src/netif.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc src/erlcmd.o src/netif.o -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/lib -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/lib -lerts -lerl_interface -lei --sysroot=/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging -lmnl -o priv/netif
# setuid root net_basic so that it can configure network interfaces
SUDO_ASKPASS= true -- sh -c 'chown root:root priv/netif; chmod +s priv/netif'
Compiling 3 files (.ex)
Generated nerves_network_interface app
==> nerves_wpa_supplicant
mkdir -p priv
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/wpa_ex.o src/wpa_ex.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/wpa_ctrl/os_unix.o src/wpa_ctrl/os_unix.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o src/wpa_ctrl/wpa_ctrl.o src/wpa_ctrl/wpa_ctrl.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc src/wpa_ex.o src/wpa_ctrl/os_unix.o src/wpa_ctrl/wpa_ctrl.o --sysroot=/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging -lrt -o priv/wpa_ex
# setuid root wpa_ex so that it can interact with the wpa_supplicant
SUDO_ASKPASS= true -- sh -c 'chown root:root priv/wpa_ex; chmod +s priv/wpa_ex'
Compiling 3 files (.ex)
Generated nerves_wpa_supplicant app
==> nerves_network
mkdir -p priv
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -std=c99 -o src/udhcpc_wrapper.o src/udhcpc_wrapper.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc src/udhcpc_wrapper.o -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/lib -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/lib -lerts -lerl_interface -lei --sysroot=/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging -o priv/udhcpc_wrapper
# setuid root udhcpc_wrapper so that it can call udhcpc
SUDO_ASKPASS= true -- sh -c 'chown root:root priv/udhcpc_wrapper; chmod +s priv/udhcpc_wrapper'
Compiling 11 files (.ex)
Generated nerves_network app
==> dhcp_server
mkdir -p priv
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/include -o c_src/dhcp_server.o -I/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/include c_src/dhcp_server.c
/home/rick/.nerves/artifacts/nerves_toolchain_armv6_rpi_linux_gnueabi-0.11.0.linux-x86_64/bin/armv6-rpi-linux-gnueabi-gcc c_src/dhcp_server.o -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/erts-9.0/lib -L/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging/usr/lib/erlang/lib/erl_interface-3.10/lib -lerts -lerl_interface -lei --sysroot=/home/rick/.nerves/artifacts/nerves_system_rpi0-0.18.2.armv6_rpi_linux_gnueabi/staging -shared -fpic -o priv/dhcp_server.so
SUDO_ASKPASS= true -- sh -c 'chown root:root priv/dhcp_server.so; chmod +s priv/dhcp_server.so'
Compiling 3 files (.erl)
Compiling 5 files (.ex)
== Compilation error on file lib/dhcp_server/server.ex ==
22:51:47.353 [warn] The on_load function for module Elixir.DHCPServer.Server returned:
{:load_failed,
'Failed to load NIF library: \'/home/rick/code/rpi_project/_build/rpi0/dev/lib/dhcp_server/priv/dhcp_server.so: wrong ELF class: ELFCLASS32\''}
** (MatchError) no match of right hand side value: {:error, :on_load_failure}
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
could not compile dependency :dhcp_server, "mix compile" failed. You can recompile this dependency with "mix deps.compile dhcp_server", update it with "mix deps.update dhcp_server" or clean it with "mix deps.clean dhcp_server"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment