Your message dated Fri, 11 Apr 2025 13:24:41 +0000
with message-id <[email protected]>
and subject line Bug#1088172: fixed in weakforced 2.10.2-2
has caused the Debian Bug report #1088172,
regarding weakforced:FTBFS:build failure (undefined reference to 
`__atomic_load_16')
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1088172: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088172
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: weakforced
Version:  2.10.2-1
Severity: serious
Tags: FTBFS, patch
User: [email protected]
Usertags: riscv64
X-Debbugs-Cc: [email protected]

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


--- End Message ---
--- Begin Message ---
Source: weakforced
Source-Version: 2.10.2-2
Done: Pierre-Elliott Bécue <[email protected]>

We believe that the bug you reported is fixed in the latest version of
weakforced, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pierre-Elliott Bécue <[email protected]> (supplier of updated weakforced package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 11 Apr 2025 14:37:09 +0200
Source: weakforced
Architecture: source
Version: 2.10.2-2
Distribution: unstable
Urgency: medium
Maintainer: Pierre-Elliott Bécue <[email protected]>
Changed-By: Pierre-Elliott Bécue <[email protected]>
Closes: 1088172
Changes:
 weakforced (2.10.2-2) unstable; urgency=medium
 .
   [ Gui-Yue ]
   * Add ldflag "-latomic" for riscv64
     (Closes: #1088172)
 .
   [ Pierre-Elliott Bécue]
   * d/control: Bump Standards-Version to 4.7.2
   * d/copyright: Add Gui-Yue
Checksums-Sha1:
 a6d872566ba0150a8b80f7b36ccd91ff3e5034cf 2306 weakforced_2.10.2-2.dsc
 69896e3d6438429632e27f19dd6b2fe22bb37166 44236 
weakforced_2.10.2-2.debian.tar.xz
 0cb057f1620877b47e8f52714535b8de813cd5d1 16976 
weakforced_2.10.2-2_amd64.buildinfo
Checksums-Sha256:
 dd33f4540de91a5666a451439372be56cb5e00b0c080d4e7da8b0a76a1feff97 2306 
weakforced_2.10.2-2.dsc
 78361437568bdf05eafc501267b33a3b35119711e9d2ab6f456b2b66336ad579 44236 
weakforced_2.10.2-2.debian.tar.xz
 d1bc34a083a91280feecbc8a39efc966bcb2f52d8b8e94765daddf3ed8d58ff4 16976 
weakforced_2.10.2-2_amd64.buildinfo
Files:
 bae8dafdb93cffb5d9ff01003073aa19 2306 web optional weakforced_2.10.2-2.dsc
 eb9377832f4b0e6bf675195f136bdf34 44236 web optional 
weakforced_2.10.2-2.debian.tar.xz
 2f22ab65154a8da23ee1e1eed02d81a5 16976 web optional 
weakforced_2.10.2-2_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJDBAEBCgAtFiEE5CQeth7uIW7ehIz87iFbn7jEWwsFAmf5DtUPHHBlYkBkZWJp
YW4ub3JnAAoJEO4hW5+4xFsLbkIQAJIQA/Nm56oqRICqBbGpZN216y3FxT48JDbw
5LYMQeZ5BSGvfkS1H4lwyPlrbGP+8LpMJ3wGuGuqGAEZr33RNPKXJCiSmw/zSBnS
lHUJNhR6BRz1SVgkJWf/ddiUS+5ebOy+Ah4SXOpr0M2yKyaDUXt1fTQfSVMl3XQ+
aQ9F1Vcm4dH+7vLLyDTUsiwSi1PVz9keQ9DSRLN9BP99KMNN/kEFwksSsg/+6Cfw
rVW9fo/i0E54XORdTQJn28ApJo0bYgqyhiSxdEnNCw8jnYLnE9Z2eXHZvvqQLubH
q4OjIJE6aauJjUTpiH4uThvqrgB/L+CF2VPX8MOUbO/l9l10gGvv8aSOPqeyP2f/
YpjkVOVY4EeusMGv3hzuSFbylUrxaWjei7YDmBy8B/kiO49UMlj0TtT+ZSej9RyP
mLA1DoK1MEkpSXwtrhylAX1oBd9qbX/4boUXUS6xkcswEllmbWMukrMVw/FxF61R
sv5HmDa98V5dh5A1OGRRLPZ8tNlenQeB+PhpPJDhM6w39Kjryv34AGJjh4uXataS
mXF8v4NDr2/ew8ivx8VEw5CXrP/OFAfaHIQa0YAqN3cfBkFrSd5Xn0NhV4Xzso6F
be6zOhnGaZ041Ii8A/6dSC8rlstVkFfUisNze1x8pkrjS+dbdoIyKiyRQ61UIhY/
OEwJZHjh
=LgTb
-----END PGP SIGNATURE-----

Attachment: pgp2oTRgJCXjx.pgp
Description: PGP signature


--- End Message ---

Reply via email to