lawik
Nerves Core Team
I’m trying to put ex_nvr on Nerves. Saw someone else try that a while back. I think I get everything but the WebRTC parts of Membrane compiling.
I was building using this branch (to add media libraries): GitHub - lawik/nerves_system_rpi4 at membrane-media · GitHub
This is the example app that doesn’t compile unless I comment out the rtc deps: GitHub - lawik/nerves_membrane_test · GitHub
Since it’s a modified nerves_system_rpi4 the compile is fairly long. I’ll try to get a pre-compiled system in place for download but don’t have it now.
I get this, seems unhappy with the library but it does exist.
/home/lawik/projects/nerves_systems/o/rpi4/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-nerves-linux-gnu/13.2.0/../../../../aarch64-nerves-linux-gnu/bin/ld: skipping incompatible /home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/lib/libei.a when searching for -lei
/home/lawik/projects/nerves_systems/o/rpi4/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-nerves-linux-gnu/13.2.0/../../../../aarch64-nerves-linux-gnu/bin/ld: cannot find -lei: No such file or directory
collect2: error: ld returned 1 exit status
could not compile dependency :ex_dtls, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile ex_dtls --force", update it with "mix deps.update ex_dtls" or clean it with "mix deps.clean ex_dtls"
==> foobar2
** (Mix) Bundlex: Failed to build the native part of package ex_dtls. Errors may have been logged above.
Make sure that all required packages are properly installed in your system.
Requirements and installation guide may be found in the readme of package ex_dtls.
Returned code: 1
Build script:
(mkdir -p "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj") && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -fPIC -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_NIF -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/native.c_5410E45890ABC219767E0EC3BED1CF28E3D95872.o" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/_generated/nif/native.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -fPIC -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_NIF -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/native.c_EAA168AA822A21524D976C585CEB985228B6BF0A.o" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/native.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -fPIC -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_NIF -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/dtls.c_0C08BCA4DB9D85E7538ADA3E550A8E27DBE99D32.o" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/dtls.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -fPIC -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_NIF -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/dyn_buff.c_92302C7051765367C3E581FDA43F463A75950D80.o" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch" -I"/home/lawik/projects/foobar2/deps/bunch_native/c_src/bunch/nif" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex" -I"/home/lawik/projects/foobar2/deps/shmex/c_src/shmex/nif" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/nif" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/dyn_buff.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc --sysroot=/home/lawik/projects/nerves_systems/o/rpi4/staging -rdynamic -shared -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native.so" -Wl,--disable-new-dtags,--whole-archive "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/bunch_native/priv/bundlex/lib.a" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/shmex/priv/bundlex/lib.a" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/bunch_native/priv/bundlex/nif/bunch.a" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/shmex/priv/bundlex/nif/shmex.a" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/unifex/priv/bundlex/nif/unifex.a" -Wl,--no-whole-archive "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/native.c_5410E45890ABC219767E0EC3BED1CF28E3D95872.o" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/native.c_EAA168AA822A21524D976C585CEB985228B6BF0A.o" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/dtls.c_0C08BCA4DB9D85E7538ADA3E550A8E27DBE99D32.o" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/nif/native_obj/dyn_buff.c_92302C7051765367C3E581FDA43F463A75950D80.o" -lrt -lrt -lpthread -L/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/lib -lssl -lcrypto
) && \
(mkdir -p "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj") && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_CNODE -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/native.c_E32A9D3FEA256B1A8DAED2737033FDB583FAE1B0.o" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/_generated/cnode/native.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_CNODE -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/native.c_EAA168AA822A21524D976C585CEB985228B6BF0A.o" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/native.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_CNODE -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/dtls.c_0C08BCA4DB9D85E7538ADA3E550A8E27DBE99D32.o" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/dtls.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 --sysroot /home/lawik/projects/nerves_systems/o/rpi4/staging -Wall -Wextra -c -O2 -g -std=c11 -DBUNDLEX_CNODE -I/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/include -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/dyn_buff.c_92302C7051765367C3E581FDA43F463A75950D80.o" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/foobar2/deps/unifex/c_src/unifex/cnode" -I"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/include" -I"/home/lawik/projects/foobar2/deps/ex_dtls/c_src" "/home/lawik/projects/foobar2/deps/ex_dtls/c_src/ex_dtls/dyn_buff.c"
) && \
(/home/lawik/projects/nerves_systems/o/rpi4/host/bin/aarch64-nerves-linux-gnu-gcc --sysroot=/home/lawik/projects/nerves_systems/o/rpi4/staging -o "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native" -Wl,--disable-new-dtags,--whole-archive "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/unifex/priv/bundlex/cnode/unifex.a" -Wl,--no-whole-archive "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/native.c_E32A9D3FEA256B1A8DAED2737033FDB583FAE1B0.o" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/native.c_EAA168AA822A21524D976C585CEB985228B6BF0A.o" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/dtls.c_0C08BCA4DB9D85E7538ADA3E550A8E27DBE99D32.o" "/home/lawik/projects/foobar2/_build/rpi4_dev/lib/ex_dtls/priv/bundlex/cnode/native_obj/dyn_buff.c_92302C7051765367C3E581FDA43F463A75950D80.o" -L"/home/lawik/projects/nerves_systems/o/rpi4/host/lib/erlang/usr/lib" -lpthread -lpthread -lpthread -lei -lpthread -L/home/lawik/projects/nerves_systems/o/rpi4/staging/usr/lib -lssl -lcrypto
)
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app?
Looking for hints regarding:
Addi...
New
Kia ora,
We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
Hi all, I wanted to ask how the community is dealing with post-release steps.
Today we have Ecto migrations, which make sure that the db...
New
Hello,
I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New
Other Trending Topics
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










First 4 of 4 Posts
mickel8
Looks like a problem with arch incompatibility. E.g. you have libei for 64 bit systems and you try to compile on 32
lawik
Okay, that makes some sense. I’m compiling for ARM and that’s an x86 file. But it seems like a problem somewhere that it would try that. I suppose the library might be needed in the system after all then.
lawik
There doesn’t seem to be a
libeiavailable in buildroot so I guess I’m stuck removing the RTC parts for now.mickel8
Unfortunately, I have no experience in cross-compilation and Nerves so I may not be able to help without deeper dive into the problem