Failure clusters
Every failing system-result grouped by the root-cause signature found in its build log. Clusters are ranked by count — fixing the cluster at the top unblocks the most packages at once.
NIF built for wrong architecture (scrub-otp)
13 failures · 7 packages
A dependency's NIF .so was compiled against the host architecture, not the Nerves target — Nerves' scrub-otp step rejects it at firmware-build time. Usually fixable by forcing a clean rebuild of the dep for the target.
Show 13 affected packages
ash_appsignal
riscv64
ash_appsignal
x86_64
bin_class
x86_64
elixir_ale
riscv64
elixir_ale
x86_64
grovepi
riscv64
grovepi
x86_64
nerves_uart
riscv64
nerves_uart
x86_64
parrhesia
riscv64
parrhesia
x86_64
Representative log excerpt
* [Nerves] validating vm.args * skipping runtime configuration (config/runtime.exs not found) * creating _build/x86_64/rel/nerves_compatibility_test/releases/0.1.0/vm.args Updating base firmware image with Erlang release... scrub-otp-release.sh: ERROR: Unexpected executable format for '/work/proj/_build/x86_64/_nerves-tmp/rootfs_overlay/srv/erlang/lib/lib_secp256k1-0.7.1/priv/musig.so' Got: readelf:AArch64;0x0 Expecting: readelf:Advanced Micro Devices X86-64;0x0 This file was compiled for the host or a different target and probably will not work. Check the following: 1. If this file comes from a library, that library may be compiling to its source directory under `deps`. Manually clean up the source directory and try building again. 2. Are you using a path dependency in your mix deps? If so, run 'mix clean' in that directory to avoid pulling in any of its build products. 3. Did you recently upgrade or change your Nerves system? If so, try cleaning and rebuilding this project and its deps. 4. Are you building outside of Nerves' mix integration? If so, make sure that you've sourced 'nerves-env.sh'. If you are very sure you know what you are doing, you may place an empty file in the same directory as the offending file(s) called '.noscrub'. This will explicitly disable scrubbing for that directory. If you're still having trouble, please file an issue on Github at https://github.com/nerves-project/nerves_system_br/issues.
Precompiled NIF missing for this target
8 failures · 5 packages
Package ships a Rustler/Zigler precompiled NIF but no build exists for the Nerves target triple. The package vendor would need to add the triple to their release.
Show 8 affected packages
Representative log excerpt
==> nerves_toolchain_x86_64_nerves_linux_musl
Generated nerves_toolchain_x86_64_nerves_linux_musl app
==> nerves_system_x86_64
Generated nerves_system_x86_64 app
==> nerves_compatibility_test
Nerves environment
MIX_TARGET: x86_64
MIX_ENV: prod
==> circular_buffer
Compiling 1 file (.ex)
Generated circular_buffer app
==> nerves_logging
CC kmsg_tailer.o
LD kmsg_tailer
Compiling 5 files (.ex)
Generated nerves_logging app
==> ring_logger
Compiling 7 files (.ex)
Generated ring_logger app
==> shoehorn
Compiling 8 files (.ex)
Generated shoehorn app
==> rustler_precompiled
Compiling 4 files (.ex)
Generated rustler_precompiled app
==> kreuzberg
Compiling 78 files (.ex)
== Compilation error in file lib/kreuzberg/native.ex ==
** (RuntimeError) precompiled NIF is not available for this target: "x86_64-unknown-linux-musl".
The available targets are:
- aarch64-apple-darwin
- aarch64-unknown-linux-gnu
- x86_64-unknown-linux-gnu
- x86_64-pc-windows-gnu
lib/kreuzberg/native.ex:4: (module)
could not compile dependency :kreuzberg, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile kreuzberg --force", update it with "mix deps.update kreuzberg" or clean it with "mix deps.clean kreuzberg"
Could not compile dependency
7 failures · 4 packages
Catch-all for build failures where a dep's `mix compile` returned nonzero. See the representative log for the specific dep and cause.
Show 7 affected packages
Representative log excerpt
Compiling 1 file (.ex)
Generated nerves_toolchain_ctng app
==> nerves_toolchain_x86_64_nerves_linux_musl
Generated nerves_toolchain_x86_64_nerves_linux_musl app
==> nerves_system_x86_64
Generated nerves_system_x86_64 app
==> nerves_compatibility_test
Nerves environment
MIX_TARGET: x86_64
MIX_ENV: prod
==> circular_buffer
Compiling 1 file (.ex)
Generated circular_buffer app
==> nerves_logging
CC kmsg_tailer.o
LD kmsg_tailer
Compiling 5 files (.ex)
Generated nerves_logging app
==> ring_logger
Compiling 7 files (.ex)
Generated ring_logger app
==> shoehorn
Compiling 8 files (.ex)
Generated shoehorn app
==> rpi_fb_capture
mkdir -p /work/proj/_build/x86_64/lib/rpi_fb_capture/priv
mkdir -p /work/proj/_build/x86_64/lib/rpi_fb_capture/obj
/home/nerves/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-linux_aarch64-13.2.0/bin/x86_64-nerves-linux-musl-gcc -c -m64 -fstack-protector-strong -march=x86-64 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/nerves/.nerves/artifacts/nerves_system_x86_64-portable-1.33.3/staging -o /work/proj/_build/x86_64/lib/rpi_fb_capture/obj/capture_dispmanx.o src/capture_dispmanx.c
src/capture_dispmanx.c:3:10: fatal error: bcm_host.h: No such file or directory
3 | #include
| ^~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:68: /work/proj/_build/x86_64/lib/rpi_fb_capture/obj/capture_dispmanx.o] Error 1
could not compile dependency :rpi_fb_capture, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile rpi_fb_capture --force", update it with "mix deps.update rpi_fb_capture" or clean it with "mix deps.clean rpi_fb_capture"
==> nerves_compatibility_test
** (Mix) Could not compile with "make" (exit status: 2).
Other / unclassified
3 failures · 1 package
Failures whose logs didn't match any known signature — worth eyeballing to propose a new pattern.
Representative log excerpt
src/gen_batch_server.erl:269: Warning: INFO: receive matches any message, this is always fast src/gen_batch_server.erl:323: Warning: INFO: receive matches any message, this is always fast ===> Analyzing applications... ===> Compiling ra ==> horus Compiling 3 files (.erl) Generated horus app ==> khepri Compiling 22 files (.erl) Generated khepri app ==> nerves_compatibility_test ===> Analyzing applications... ===> Compiling reckon_db ==> uboot_env Compiling 5 files (.ex) Generated uboot_env app ==> property_table Compiling 8 files (.ex) Generated property_table app ==> nerves_uevent CC uevent.o LD uevent Compiling 3 files (.ex) Generated nerves_uevent app ==> nerves_runtime Compiling 14 files (.ex) Generated nerves_runtime app ==> toolshed Compiling 5 files (.ex) Generated toolshed app ==> nerves_compatibility_test Compiling 2 files (.ex) Generated nerves_compatibility_test app |nerves| Building OTP Release... * [Nerves] validating vm.args * skipping runtime configuration (config/runtime.exs not found) ** (Mix) Unknown application :erts
Failed to load NIF library at runtime
1 failures · 1 package
Application loaded on target but the NIF .so couldn't be dlopened — usually means the NIF was compiled but for the wrong libc/ABI.
Show 1 affected package
mob_dev
x86_64
Representative log excerpt
==> phoenix_html
Compiling 6 files (.ex)
Generated phoenix_html app
==> phoenix_template
Compiling 4 files (.ex)
Generated phoenix_template app
==> phoenix_pubsub
Compiling 12 files (.ex)
Generated phoenix_pubsub app
==> plug
Compiling 1 file (.erl)
Compiling 42 files (.ex)
Generated plug app
==> eqrcode
Compiling 10 files (.ex)
Generated eqrcode app
==> uboot_env
Compiling 5 files (.ex)
Generated uboot_env app
==> cc_precompiler
Compiling 3 files (.ex)
Generated cc_precompiler app
==> vix
Downloading precompiled NIF to /home/nerves/.cache/elixir_make/vix-nif-2.17-x86_64-linux-musl-0.38.0.tar.gz
Compiling 28 files (.ex)
12:29:46.501 [warning] The on_load function for module Elixir.Vix.Nif returned:
{:error,
{:load_failed,
~c"Failed to load NIF library: '/work/proj/_build/x86_64/lib/vix/priv/vix.so: cannot open shared object file: No such file or directory'"}}
== Compilation error in file lib/vix/vips/enum.ex ==
** (UndefinedFunctionError) function Vix.Nif.nif_vips_enum_list/0 is undefined (module Vix.Nif is not available)
Vix.Nif.nif_vips_enum_list()
lib/vix/vips/enum.ex:5: Vix.Vips.EnumHelper.__before_compile__/1
(stdlib 7.2) lists.erl:2466: :lists.foldl/3
(stdlib 7.2) lists.erl:2471: :lists.foldl_1/3
could not compile dependency :vix, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile vix --force", update it with "mix deps.update vix" or clean it with "mix deps.clean vix"