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.

Attachment: fix_weakforced_build_failed_on_riscv64.patch
Description: Binary data

Reply via email to