Closed DoudouMee closed 2 years ago
Assuming the router runs Linux and you can cross compile for it, theoretically yes?
After my research I think it‘s possible to run on my openwrt router, an ARM architecture device by cross compiling.
I have download the official openwrt SDK and get toolchain for the device. And the problem is that I don't know how to compile with this toolchain. I have no idea how this project compiles to get an executable file. What files do I need to change of this project?
After a period of testing, I found that the compilation will report an error at juce_core.cpp
How can I modify it to compile it correctly?
Based on that error, it looks like there would need to be patches in the JUCE portion to avoid using execinfo because openwrt doesn’t use glibc. Hints found here: https://github.com/nodejs/node/issues/8233
I’m afraid this could snowball to be a real pain to port, and I don’t really have the time to do that…
Thank you a lot. I found it still works when I delete the execinfo.h
and its part. But when I try to compile for openwrt, it jumps errors.
Compiling client.cpp mipsel-openwrt-linux-g++ Compiling codec_pcm.cpp Compiling common.cpp Compiling net_utils.cpp Compiling server.cpp Compiling sink.cpp Compiling source.cpp Compiling sync.cpp Compiling time.cpp Compiling md5.c Compiling OscOutboundPacketStream.cpp Compiling OscPrintReceivedElements.cpp Compiling OscReceivedElements.cpp Compiling OscTypes.cpp Compiling Main.cpp Compiling include_juce_audio_basics.cpp Compiling include_juce_audio_formats.cpp Compiling include_juce_core.cpp In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:70, from ../../JuceLibraryCode/include_juce_core.cpp:9: /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to
[-Wcpp] warning redirecting incorrect #include <sys/errno.h> to
^
~~ Compiling include_juce_cryptography.cpp Compiling include_juce_data_structures.cpp Compiling include_juce_events.cpp Linking aooserver - ConsoleApp /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/md5_22b917f0.o: Relocations in generic ELF (EM: 62) /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/md5_22b917f0.o: Relocations in generic ELF (EM: 62) /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/md5_22b917f0.o: error adding symbols: file in wrong format collect2: error: ld returned 1 exit status make: *** [Makefile:104: build/aooserver] Error 1
I have solved the lib problem (may be), and now it keep showing xxxx: undefined reference to 'xxxx '
Linking aooserver - ConsoleApp /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/sink_75e48a76.o: in function
aoo::source_desc::handle_ping(aoo::sink const&, aoo::time_tag) [clone .constprop.153]': sink.cpp:(.text+0x1a0): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: sink.cpp:(.text+0x1b4): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/sink_75e48a76.o: in functionaoo::source_desc::handle_ping(aoo::sink const&, aoo::time_tag)': sink.cpp:(.text+0x1924): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: sink.cpp:(.text+0x1938): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/sink_75e48a76.o: in function
aoo::source_desc::send_notifications(aoo::sink const&)': sink.cpp:(.text+0x4f64): undefined reference to__atomic_exchange_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: sink.cpp:(.text+0x4fe8): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/sink_75e48a76.o: in functionaoo::source_desc::do_update(aoo::sink const&) [clone .part.148]': sink.cpp:(.text+0x623c): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: sink.cpp:(.text+0x6250): undefined reference to `atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_formats_15f82001.o: in functionjuce::BufferingAudioReader::readSamples(int**, int, int, long long, int)': include_juce_audio_formats.cpp:(.text+0xc5f8): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_formats_15f82001.o: in functionjuce::BufferingAudioReader::readNextBufferChunk()': include_juce_audio_formats.cpp:(.text+0x622b4): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_core_f26d17db.o: in functionjuce::Random::setSeedRandomly()': include_juce_core.cpp:(.text+0x28484): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x28968): undefined reference to `atomic_fetch_xor_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_core_f26d17db.o: in functionjuce::WebInputStream::WebInputStream(juce::URL const&, bool)': include_juce_core.cpp:(.text+0x5781c): undefined reference to
curl_easy_init' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57820): undefined reference tocurl_easy_init' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57828): undefined reference to
curl_easy_setopt' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x5782c): undefined reference tocurl_easy_setopt' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57834): undefined reference to
curl_easy_cleanup' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57838): undefined reference tocurl_easy_cleanup' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57840): undefined reference to
curl_easy_getinfo' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57844): undefined reference tocurl_easy_getinfo' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x5784c): undefined reference to
curl_multi_add_handle' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57850): undefined reference tocurl_multi_add_handle' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57858): undefined reference to
curl_multi_cleanup' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x5785c): undefined reference tocurl_multi_cleanup' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57864): undefined reference to
curl_multi_fdset' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57868): undefined reference tocurl_multi_fdset' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57870): undefined reference to
curl_multi_info_read' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57874): undefined reference tocurl_multi_info_read' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x5787c): undefined reference to
curl_multi_init' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57880): undefined reference tocurl_multi_init' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57888): undefined reference to
curl_multi_perform' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x5788c): undefined reference tocurl_multi_perform' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57894): undefined reference to
curl_multi_remove_handle' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x57898): undefined reference tocurl_multi_remove_handle' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578a0): undefined reference to
curl_multi_timeout' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578a4): undefined reference tocurl_multi_timeout' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578ac): undefined reference to
curl_slist_append' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578b0): undefined reference tocurl_slist_append' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578b8): undefined reference to
curl_slist_free_all' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578bc): undefined reference tocurl_slist_free_all' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578c4): undefined reference to
curl_version_info' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_core.cpp:(.text+0x578c8): undefined reference tocurl_version_info' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in function
aoo::timer::timer(aoo::timer const&)': common.cpp:(.text+0x2690): undefined reference to `atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x26a8): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x26b4): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x26c8): undefined reference to `atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in functionaoo::timer::operator=(aoo::timer const&)': common.cpp:(.text+0x2768): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x2780): undefined reference to `atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x278c): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x27a0): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in functionaoo::timer::setup(int, int)': common.cpp:(.text+0x2894): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x28a8): undefined reference to `atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in functionaoo::timer::reset()': common.cpp:(.text+0x2954): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x2968): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in function
aoo::timer::get_elapsed() const': common.cpp:(.text+0x29e8): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in function
aoo::timer::get_absolute() const': common.cpp:(.text+0x2a18): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/common_3542764e.o: in function
aoo::timer::update(aoo::time_tag, double&)': common.cpp:(.text+0x2a88): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x2ab0): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x2ae4): undefined reference to `atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x2b10): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: common.cpp:(.text+0x2c10): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in functionjuce::BufferingAudioSource::setNextReadPosition(long long)': include_juce_audio_basics.cpp:(.text+0x21fc): undefined reference to
__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in functionjuce::BufferingAudioSource::getNextReadPosition() const': include_juce_audio_basics.cpp:(.text+0x8be8): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x8cdc): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in function
juce::BufferingAudioSource::prepareToPlay(int, double)': include_juce_audio_basics.cpp:(.text+0xa988): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0xa99c): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0xa9d0): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0xa9e4): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in functionjuce::BufferingAudioSource::waitForNextAudioBlockReady(juce::AudioSourceChannelInfo const&, unsigned int)': include_juce_audio_basics.cpp:(.text+0x2cb14): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2cbc8): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2cbe4): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o:include_juce_audio_basics.cpp:(.text+0x2cbfc): more undefined references to__atomic_load_8' follow /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in function
juce::BufferingAudioSource::readBufferSection(long long, int, int)': include_juce_audio_basics.cpp:(.text+0x2ced0): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in function
juce::BufferingAudioSource::readNextBufferChunk()': include_juce_audio_basics.cpp:(.text+0x2d118): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d12c): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d138): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d184): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d1c4): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d1dc): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d284): undefined reference to__atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d298): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d388): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d3b4): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d3d8): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d400): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d42c): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d44c): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d458): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x2d480): undefined reference to
atomic_store_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: build/intermediate/Release/include_juce_audio_basics_8a4e984a.o: in functionjuce::BufferingAudioSource::getNextAudioBlock(juce::AudioSourceChannelInfo const&)': include_juce_audio_basics.cpp:(.text+0x32084): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x320a0): undefined reference to__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x320b8): undefined reference to
atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x3215c): undefined reference to__atomic_fetch_add_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x322a4): undefined reference to
__atomic_load_8' /home/admin/op7621/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/../lib/gcc/mipsel-openwrt-linux-musl/8.4.0/../../../../mipsel-openwrt-linux-musl/bin/ld: include_juce_audio_basics.cpp:(.text+0x322d4): undefined reference to__atomic_load_8' collect2: error: ld returned 1 exit status make: *** [Makefile:114: build/aooserver] Error 1
The part undefined reference to __atomic_xxx_xx
is solved by adding atomic library.
I have managed the cross-compiling. And after adding some needed library, now it works on a router. Anyway thank you.
It would be great if you could share exactly what changes you made or what command line you used with cmake that provided the options that worked for you, thanks!
Sorry to reply so late, I have a lot of things these days. My work is still lacking, so I uploaded to my repositories to share with you. It contains compiled library and executable files, as well as the makefile I modified from yours, can be used for testing and reference. Hope it is helpful for this project to run on none-PC devices.
I am hoping to deploy it on my router, is it possible?