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)
140 failures · 69 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 140 affected packages
agent_session_manager
riscv64
agent_session_manager
x86_64
alike
riscv64
alike
x86_64
amp_sdk
riscv64
amp_sdk
x86_64
arke_auth
riscv64
arke_auth
x86_64
arke_server
riscv64
arke_server
x86_64
ash_appsignal
riscv64
ash_appsignal
x86_64
bash
riscv64
bash
arm64
bash
x86_64
bin_class
x86_64
brod
riscv64
brod
x86_64
claude_agent_sdk
riscv64
claude_agent_sdk
x86_64
cli_subprocess_core
riscv64
cli_subprocess_core
x86_64
codex_sdk
riscv64
codex_sdk
x86_64
command
riscv64
command
x86_64
drum
riscv64
drum
x86_64
electric
riscv64
electric
x86_64
elixir_ale
riscv64
elixir_ale
x86_64
ex_cmd
riscv64
ex_cmd
arm64
ex_cmd
x86_64
external_runtime_transport
riscv64
external_runtime_transport
x86_64
ffmpex
riscv64
ffmpex
arm64
ffmpex
x86_64
gemini_cli_sdk
riscv64
gemini_cli_sdk
x86_64
grovepi
riscv64
grovepi
x86_64
icp_agent
riscv64
icp_agent
x86_64
kafka_protocol
riscv64
kafka_protocol
x86_64
kayrock
riscv64
kayrock
x86_64
llama_cpp_sdk
riscv64
llama_cpp_sdk
x86_64
marcli
riscv64
marcli
x86_64
mdex_custom_heading_id
riscv64
mdex_custom_heading_id
x86_64
mdex_gfm
riscv64
mdex_gfm
x86_64
mdex_katex
riscv64
mdex_katex
x86_64
mdex_video_embed
riscv64
mdex_video_embed
x86_64
membrane_srt_live_transmit
riscv64
membrane_srt_live_transmit
x86_64
nerves_flutter_support
riscv64
nerves_flutter_support
x86_64
nerves_uart
riscv64
nerves_uart
x86_64
nous
riscv64
nous
x86_64
nx_highlighter
riscv64
nx_highlighter
x86_64
parrhesia
riscv64
parrhesia
x86_64
pg_inspect
riscv64
pg_inspect
arm64
pg_inspect
x86_64
phoenix_streamdown
riscv64
phoenix_streamdown
x86_64
portfolio_coder
riscv64
portfolio_coder
x86_64
portfolio_index
riscv64
portfolio_index
x86_64
portfolio_manager
riscv64
portfolio_manager
x86_64
prompt_runner_sdk
riscv64
prompt_runner_sdk
x86_64
prx
riscv64
prx
x86_64
ragex
riscv64
ragex
x86_64
rebar3_nova
riscv64
rebar3_nova
arm64
rebar3_nova
x86_64
sagents_live_debugger
riscv64
sagents_live_debugger
x86_64
sayfa
riscv64
sayfa
x86_64
self_hosted_inference_core
riscv64
self_hosted_inference_core
x86_64
smee_orgs
riscv64
smee_orgs
arm64
smee_orgs
x86_64
soothsayer
x86_64
space_dust
riscv64
space_dust
x86_64
tableau_page_feedback_extension
riscv64
zee3
riscv64
zee3
arm64
zotonic_filehandler
riscv64
zotonic_filehandler
x86_64
zotonic_filewatcher
riscv64
zotonic_filewatcher
x86_64
zwo_controller
riscv64
zwo_controller
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/sgp4_ex-0.2.0/priv/sgp4_nif.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
71 failures · 48 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 71 affected packages
Representative log excerpt
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
==> rustler_precompiled
Compiling 4 files (.ex)
Generated rustler_precompiled app
==> postal
Compiling 4 files (.ex)
== Compilation error in file lib/postal/native.ex ==
** (RuntimeError) precompiled NIF is not available for this target: "x86_64-unknown-linux-musl".
The available targets are:
- aarch64-apple-darwin
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu
lib/postal/native.ex:8: (module)
could not compile dependency :postal, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile postal --force", update it with "mix deps.update postal" or clean it with "mix deps.clean postal"
Other / unclassified
57 failures · 24 packages
Failures whose logs didn't match any known signature — worth eyeballing to propose a new pattern.
Show 57 affected packages
avrogen
riscv64
avrogen
x86_64
btrz_ex_webhooks_emitter
riscv64
btrz_ex_webhooks_emitter
x86_64
ca
riscv64
ca
arm64
ca
x86_64
chat
riscv64
chat
arm64
chat
x86_64
color
riscv64
eue
riscv64
eue
arm64
eue
x86_64
fledex
riscv64
fledex
arm64
fledex
x86_64
fledex_scheduler
riscv64
fledex_scheduler
arm64
fledex_scheduler
x86_64
hecate_sdk
riscv64
hecate_sdk
arm64
hecate_sdk
x86_64
jido_simplemem
riscv64
jido_simplemem
arm64
jido_simplemem
x86_64
kaffe
riscv64
kaffe
x86_64
khepri
riscv64
khepri
arm64
khepri
x86_64
klife
riscv64
klife
x86_64
reckon_db
riscv64
reckon_db
arm64
reckon_db
x86_64
sexy
riscv64
sexy
arm64
sexy
x86_64
temporal_sdk
arm64
temporal_sdk
x86_64
text
riscv64
timeless_logs
riscv64
timeless_logs
x86_64
timeless_logs_dashboard
riscv64
timeless_logs_dashboard
x86_64
timeless_phoenix
riscv64
timeless_phoenix
x86_64
timeless_traces
riscv64
timeless_traces
x86_64
timeless_traces_dashboard
riscv64
timeless_traces_dashboard
x86_64
trogon_commanded
riscv64
trogon_commanded
arm64
trogon_commanded
x86_64
Representative log excerpt
==> tablet
Compiling 2 files (.ex)
Generated tablet app
==> elixir_make
Compiling 8 files (.ex)
Generated elixir_make app
==> nerves_discovery
Compiling 5 files (.ex)
Generated nerves_discovery app
==> interactive_cmd
Compiling 1 file (.ex)
Generated interactive_cmd app
==> nerves
HOST_CC port.o
HOST_LD port
Compiling 50 files (.ex)
Generated nerves app
==> nerves_compatibility_test
Nerves environment
MIX_TARGET: mangopi_mq_pro
MIX_ENV: prod
Checking for prebuilt Nerves artifacts...
Checking nerves_system_mangopi_mq_pro...
=> Trying /home/nerves/.nerves/dl/nerves_system_mangopi_mq_pro-portable-0.15.5-B9639AA.tar.gz
** (MatchError) no match of right hand side value:
{:error,
"/usr/bin/tar: staging/usr/lib/erlang/bin: Directory renamed before its status could be extracted\n/usr/bin/tar: staging/usr/lib/erlang: Directory renamed before its status could be extracted\n/usr/bin/tar: staging/usr/lib: Directory renamed before its status could be extracted\n/usr/bin/tar: Exiting with failure status due to previous errors\n"}
(nerves 1.14.2) lib/nerves/artifact/cache.ex:34: Nerves.Artifact.Cache.put/2
(nerves 1.14.2) lib/mix/tasks/nerves.artifact.get.ex:85: Mix.Tasks.Nerves.Artifact.Get.put_cache/2
(elixir 1.19.4) lib/enum.ex:961: Enum."-each/2-lists^foreach/1-0-"/2
(mix 1.19.4) lib/mix/task.ex:499: anonymous fn/3 in Mix.Task.run_task/5
(nerves 1.14.2) lib/mix/tasks/nerves.deps.get.ex:19: Mix.Tasks.Nerves.Deps.Get.run/1
(mix 1.19.4) lib/mix/task.ex:499: anonymous fn/3 in Mix.Task.run_task/5
(mix 1.19.4) lib/mix/task.ex:573: Mix.Task.run_alias/6
(mix 1.19.4) lib/mix/cli.ex:129: Mix.CLI.run_task/2
Could not compile dependency
46 failures · 27 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 46 affected packages
Representative log excerpt
Nerves environment
MIX_TARGET: rpi4
MIX_ENV: prod
Checking for prebuilt Nerves artifacts...
Found nerves_system_rpi4 in cache
/home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.0.2
Found nerves_toolchain_aarch64_nerves_linux_gnu in cache
/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-linux_aarch64-13.2.0
==> nerves
==> nerves_system_br
Generated nerves_system_br app
==> nerves_toolchain_ctng
Compiling 1 file (.ex)
Generated nerves_toolchain_ctng app
==> nerves_toolchain_aarch64_nerves_linux_gnu
Generated nerves_toolchain_aarch64_nerves_linux_gnu app
==> nerves_system_rpi4
Generated nerves_system_rpi4 app
==> nerves_compatibility_test
Nerves environment
MIX_TARGET: rpi4
MIX_ENV: prod
==> circular_buffer
Compiling 1 file (.ex)
Generated circular_buffer app
==> captcha_c
rm -f priv/captcha src/captcha.o
/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-linux_aarch64-13.2.0/bin/aarch64-nerves-linux-gnu-gcc -g -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 --sysroot /home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.0.2/staging aarch64 -c -o src/captcha.o src/captcha.c
aarch64-nerves-linux-gnu-gcc: warning: aarch64: linker input file unused because linking not done
aarch64-nerves-linux-gnu-gcc: error: aarch64: linker input file not found: No such file or directory
make: *** [: src/captcha.o] Error 1
could not compile dependency :captcha_c, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile captcha_c --force", update it with "mix deps.update captcha_c" or clean it with "mix deps.clean captcha_c"
==> nerves_compatibility_test
** (Mix) Make failed with exit code 2
Failed to load NIF library at runtime
13 failures · 10 packages
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 13 affected packages
avatarz
x86_64
ethers
riscv64
ethers
x86_64
ethers_kms
riscv64
ethers_kms
x86_64
iiif_image_plug
x86_64
kino_phonograph
x86_64
kino_zoetrope
x86_64
margarine
x86_64
nanodrop
x86_64
phoenix_image
x86_64
Representative log excerpt
Compiling 1 file (.ex)
Generated circular_buffer app
==> protoss
Compiling 1 file (.ex)
Generated protoss 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
==> 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)
19:41:16.417 [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"