Can this service run on an ARM device?
DoudouMee opened this issue · 9 comments
I am hoping to deploy it on my router, is it possible?
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?
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: nodejs/node#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 <errno.h> [-Wcpp]
#warning redirecting incorrect #include <sys/errno.h> to <errno.h>
^~~~~~~
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 function
juce::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 function
juce::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 function
juce::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 function
aoo::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 function
juce::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 function
juce::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 functionjuce::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 function
juce::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 functionjuce::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 functionjuce::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 function
juce::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.