Source: weakforced Version: 2.10.2-1 Severity: serious Tags: FTBFS, patch User: debian-ri...@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: debian-ri...@lists.debian.org
Dear weakforced Maintainer, The package weakforced build failed on all arch. The crucial buildd log below: ``` cp ../debian/contrib/regexes.yaml regexes.yaml sed -e 's![@]bindir[@]!/usr/bin!' -e 's![@]type[@]!notify!' < wforce.service.in > wforce.service /bin/bash ../libtool --tag=CXX --mode=link g++ -std=gnu++17 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -Wl,-z,relro -Wl,-z,now -o wf_dump_entries dump_entries.o /<<PKGBUILDDIR>>/common/libweakforce.la -lcurl -lsodium libtool: link: g++ -std=gnu++17 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o wf_dump_entries dump_entries.o /<<PKGBUILDDIR>>/common/.libs/libweakforce.a -L/<<PKGBUILDDIR>>/ext/json11 -lboost_filesystem -lboost_system -lGeoIP -lmaxminddb -lprometheus-cpp-core -ldrogon -ltrantor -ljsoncpp -lz -lssl -lcrypto -lcurl -lsodium -pthread /bin/bash ../libtool --tag=CXX --mode=link g++ -std=gnu++17 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -L/usr/lib -Wl,-z,relro -Wl,-z,now -o wforce wforce.o wforce-lua.o wforce-common-lua.o wforce-web.o wforce-sibling.o twmap.o twmap-wrapper.o blackwhitelist.o replication.o replication_sdb.o replication_bl.o replication_wl.o wforce-replication.o wforce-prometheus.o replication.pb.o -lreadline -lluajit-5.1 /<<PKGBUILDDIR>>/ext/ext/libext.la /<<PKGBUILDDIR>>/common/libweakforce.la -lsodium -lGeoIP -lmaxminddb -lgetdns -lprotobuf -lsystemd -L/<<PKGBUILDDIR>>/ext/json11 -ljson11 -lboost_date_time -lboost_regex -lhiredis -ldrogon -ltrantor -ljsoncpp -lz -ljsoncpp -lz -luuid -lcurl -lcrypto -lyaml-cpp -lprometheus-cpp-core -lssl -ldl -lstdc++fs libtool: link: g++ -std=gnu++17 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o wforce wforce.o wforce-lua.o wforce-common-lua.o wforce-web.o wforce-sibling.o twmap.o twmap-wrapper.o blackwhitelist.o replication.o replication_sdb.o replication_bl.o replication_wl.o wforce-replication.o wforce-prometheus.o replication.pb.o -L/usr/lib -lreadline -lluajit-5.1 /<<PKGBUILDDIR>>/ext/ext/.libs/libext.a /<<PKGBUILDDIR>>/common/.libs/libweakforce.a -L/<<PKGBUILDDIR>>/ext/json11 -lboost_filesystem -lboost_system -lsodium -lGeoIP -lmaxminddb -lgetdns -lprotobuf -lsystemd /<<PKGBUILDDIR>>/ext/json11/.libs/libjson11.a -lboost_date_time -lboost_regex -lhiredis -ldrogon -ltrantor -ljsoncpp -lz -luuid -lcurl -lcrypto -lyaml-cpp -lprometheus-cpp-core -lssl -ldl -lstdc++fs -pthread make[4]: Leaving directory '/<<PKGBUILDDIR>>/wforce' make[3]: Leaving directory '/<<PKGBUILDDIR>>/wforce' Making all in trackalert make[3]: Entering directory '/<<PKGBUILDDIR>>/trackalert' g++ -std=gnu++17 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/luajit-2.1 -I../ext -I../common -I../ext/json11 -I/usr/include -I/usr/include/jsoncpp -I/usr/include/uuid -I/usr/include/riscv64-linux-gnu -DSYSCONFDIR='"/etc/wforce"' -I../wforce -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o trackalert.o trackalert.cc g++ -std=gnu++17 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/luajit-2.1 -I../ext -I../common -I../ext/json11 -I/usr/include -I/usr/include/jsoncpp -I/usr/include/uuid -I/usr/include/riscv64-linux-gnu -DSYSCONFDIR='"/etc/wforce"' -I../wforce -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o trackalert-lua.o trackalert-lua.cc g++ -std=gnu++17 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/luajit-2.1 -I../ext -I../common -I../ext/json11 -I/usr/include -I/usr/include/jsoncpp -I/usr/include/uuid -I/usr/include/riscv64-linux-gnu -DSYSCONFDIR='"/etc/wforce"' -I../wforce -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o wforce-common-lua.o wforce-common-lua.cc g++ -std=gnu++17 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/luajit-2.1 -I../ext -I../common -I../ext/json11 -I/usr/include -I/usr/include/jsoncpp -I/usr/include/uuid -I/usr/include/riscv64-linux-gnu -DSYSCONFDIR='"/etc/wforce"' -I../wforce -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o trackalert-web.o trackalert-web.cc sed -e 's![@]bindir[@]!/usr/bin!' -e 's![@]type[@]!notify!' < trackalert.service.in > trackalert.service /bin/bash ../libtool --tag=CXX --mode=link g++ -std=gnu++17 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -L/usr/lib -Wl,-z,relro -Wl,-z,now -o trackalert trackalert.o trackalert-lua.o wforce-common-lua.o trackalert-web.o -lreadline -lluajit-5.1 /<<PKGBUILDDIR>>/ext/ext/libext.la /<<PKGBUILDDIR>>/common/libweakforce.la -lsodium -lsystemd -L/<<PKGBUILDDIR>>/ext/json11 -ljson11 -lboost_date_time -lboost_regex -lcurl -lcrypto -ldrogon -ltrantor -ljsoncpp -lz -ljsoncpp -lz -luuid -lssl -lyaml-cpp -lGeoIP -lmaxminddb -lprometheus-cpp-core -ldl -lstdc++fs libtool: link: g++ -std=gnu++17 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro -Wl,-z -Wl,now -o trackalert trackalert.o trackalert-lua.o wforce-common-lua.o trackalert-web.o -L/usr/lib -lreadline -lluajit-5.1 /<<PKGBUILDDIR>>/ext/ext/.libs/libext.a /<<PKGBUILDDIR>>/common/.libs/libweakforce.a -L/<<PKGBUILDDIR>>/ext/json11 -lboost_filesystem -lboost_system -lsodium -lsystemd /<<PKGBUILDDIR>>/ext/json11/.libs/libjson11.a -lboost_date_time -lboost_regex -lcurl -lcrypto -ldrogon -ltrantor -ljsoncpp -lz -luuid -lssl -lyaml-cpp -lGeoIP -lmaxminddb -lprometheus-cpp-core -ldl -lstdc++fs -pthread /usr/bin/ld: trackalert.o: in function `std::_Rb_tree<std::pair<Netmask, bool>*, std::pair<Netmask, bool>*, std::_Identity<std::pair<Netmask, bool>*>, std::less<std::pair<Netmask, bool>*>, std::allocator<std::pair<Netmask, bool>*> >::_M_erase(std::_Rb_tree_node<std::pair<Netmask, bool>*>*)': /usr/include/c++/14/bits/stl_tree.h:1930:(.text+0x44e): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::_Rb_tree<std::pair<Netmask, bool>*, std::pair<Netmask, bool>*, std::_Identity<std::pair<Netmask, bool>*>, std::less<std::pair<Netmask, bool>*>, std::allocator<std::pair<Netmask, bool>*> >::_S_left(std::_Rb_tree_node_base*)': /usr/include/c++/14/bits/stl_tree.h:778:(.text+0x470): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: trackalert.o: in function `std::_Rb_tree<std::pair<Netmask, bool>*, std::pair<Netmask, bool>*, std::_Identity<std::pair<Netmask, bool>*>, std::less<std::pair<Netmask, bool>*>, std::allocator<std::pair<Netmask, bool>*> >::_M_erase(std::_Rb_tree_node<std::pair<Netmask, bool>*>*)': /usr/include/c++/14/bits/stl_tree.h:1937:(.text+0x48a): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `bool boost::lockfree::queue<std::function<void (int)>*>::do_push<false>(std::function<void (int)>* const&)': /usr/include/boost/lockfree/queue.hpp:324:(.text+0x4a4): undefined reference to `__atomic_store_16' /usr/bin/ld: /usr/include/boost/lockfree/queue.hpp:324:(.text+0x4b4): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `boost::lockfree::queue<std::function<void (int)>*>::node* boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::allocate_impl<false>()': /usr/include/boost/lockfree/detail/freelist.hpp:180:(.text+0x4c6): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `bool std::__atomic_impl::__compare_exchange<false, boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >(boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node>&, std::remove_volatile<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::type&, std::remove_volatile<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::type&, bool, std::memory_order, std::memory_order)': /usr/include/c++/14/bits/atomic_base.h:1002:(.text+0x4da): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::load(std::memory_order) const': /usr/include/c++/14/atomic:302:(.text+0x504): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text+0x518): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text+0x52c): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x32): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x42): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x52): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `bool boost::lockfree::queue<std::function<void (int)>*>::unsynchronized_pop<std::function<void (int)>*>(std::function<void (int)>*&)': /usr/include/boost/lockfree/queue.hpp:489:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x6a): undefined reference to `__atomic_store_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::store(boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node>, std::memory_order)': /usr/include/c++/14/atomic:284:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x72): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::load(std::memory_order) const': /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x86): undefined reference to `__atomic_store_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0x98): undefined reference to `__atomic_store_16' /usr/bin/ld: trackalert.o: in function `boost::lockfree::queue<std::function<void (int)>*>::~queue()': /usr/include/boost/lockfree/queue.hpp:277:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0xa2): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::store(boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node>, std::memory_order)': /usr/include/c++/14/atomic:284:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0xb2): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::load(std::memory_order) const': /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0xc6): undefined reference to `__atomic_store_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEED2Ev[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEED5Ev]+0xce): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0x2a): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0x3e): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0x52): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0x62): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `bool std::__atomic_impl::__compare_exchange<false, boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >(boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node>&, std::remove_volatile<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::type&, std::remove_volatile<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::type&, bool, std::memory_order, std::memory_order)': /usr/include/c++/14/bits/atomic_base.h:1002:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0x98): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: /usr/include/c++/14/bits/atomic_base.h:1002:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0xa8): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::load(std::memory_order) const': /usr/include/c++/14/atomic:302:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0xc8): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: trackalert.o: in function `bool boost::lockfree::queue<std::function<void (int)>*>::pop<std::function<void (int)>*>(std::function<void (int)>*&)': /usr/include/boost/lockfree/queue.hpp:448:(.text._ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_[_ZN5boost8lockfree5queueIPSt8functionIFviEEJEE3popIS5_EEbRT_]+0xfa): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::load(std::memory_order) const': /usr/include/c++/14/atomic:302:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0xa0): undefined reference to `__atomic_load_16' /usr/bin/ld: /usr/include/c++/14/atomic:302:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0xb4): undefined reference to `__atomic_store_16' /usr/bin/ld: trackalert.o: in function `boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul>::allocate(unsigned long, void const*)': /usr/include/boost/align/aligned_allocator.hpp:72:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0xfc): undefined reference to `__atomic_load_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::load(std::memory_order) const': /usr/include/c++/14/atomic:302:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0x11a): undefined reference to `__atomic_compare_exchange_16' /usr/bin/ld: trackalert.o: in function `bool std::__atomic_impl::__compare_exchange<false, boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >(boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node>&, std::remove_volatile<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::type&, std::remove_volatile<boost::lockfree::detail::tagged_ptr<boost::lockfree::detail::freelist_stack<boost::lockfree::queue<std::function<void (int)>*>::node, boost::alignment::aligned_allocator<boost::lockfree::queue<std::function<void (int)>*>::node, 64ul> >::freelist_node> >::type&, bool, std::memory_order, std::memory_order)': /usr/include/c++/14/bits/atomic_base.h:1002:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0x134): undefined reference to `__atomic_store_16' /usr/bin/ld: trackalert.o: in function `std::atomic<boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node> >::atomic(boost::lockfree::detail::tagged_ptr<boost::lockfree::queue<std::function<void (int)>*>::node>)': /usr/include/c++/14/atomic:238:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0x142): undefined reference to `__atomic_store_16' /usr/bin/ld: trackalert.o: in function `ctpl::thread_pool::thread_pool(int, int)': ./trackalert/../ext/ext/ctpl.h:55:(.text._ZN4ctpl11thread_poolC2Eii[_ZN4ctpl11thread_poolC5Eii]+0x24c): undefined reference to `__atomic_load_16' collect2: error: ld returned 1 exit status make[3]: *** [Makefile:628: trackalert] Error 1 make[3]: Leaving directory '/<<PKGBUILDDIR>>/trackalert' make[2]: *** [Makefile:519: all-recursive] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' make[1]: *** [Makefile:451: all] Error 2 make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_build: error: make -j4 returned exit code 2 make: *** [debian/rules:13: binary-arch] Error 25 dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 ``` The full buildd log is here: https://buildd.debian.org/status/fetch.php?pkg=weakforced&arch=riscv64&ver=2.10.2-1&stamp=1732212219&raw=0 My solution to this issue: The issue of "undefined reference to '__atomic_store_16'" and "__atomic_load_16" when using the RISC-V architecture (riscv64) is likely due to the fact that RISC-V hardware may not currently support 128-bit atomic operations directly and requires the software simulation library, libatomic, to provide support. I have tested this solution locally,and it works well.The debpatch is in the attachment, and the main modification is in the debian/rules file.Please let me know whether this solution can be accepted.
fix_weakforced_build_failed_on_riscv64.patch
Description: Binary data