<!-- This issue tracker is only for technical issues related to Bitcoin Core. General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com. For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->
<!-- Describe the issue -->
Expected behavior Building bitcoin v.0.21
<!--- What behavior did you expect? -->
Actual behavior `root@ubuntu-s-1vcpu-1gb-ams3-01:~/bitcoin# make
Making all in src
make[1]: Entering directory '/root/bitcoin/src'
make[2]: Entering directory '/root/bitcoin/src'
make[3]: Entering directory '/root/bitcoin'
make[3]: Leaving directory '/root/bitcoin'
CXXLD bitcoind
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::{lambda()#2}>::~thread_data()': /usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::{lambda()#3}>::~thread_data()': /usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::sp_counted_impl_p<boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::{lambda()#3}> >::dispose()': /usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::sp_counted_impl_p<boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*)::{lambda()#2}> >::dispose()': /usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread_group::interrupt_all()': /usr/include/boost/thread/detail/thread_group.hpp:132: undefined reference to boost::thread::interrupt()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread_group::join_all()': /usr/include/boost/thread/detail/thread_group.hpp:118: undefined reference to boost::thread::joinable() const'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread::get_id() const': /usr/include/boost/thread/detail/thread.hpp:716: undefined reference to boost::thread::native_handle()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread::join()': /usr/include/boost/thread/detail/thread.hpp:740: undefined reference to boost::thread::join_noexcept()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread::start_thread()': /usr/include/boost/thread/detail/thread.hpp:182: undefined reference to boost::thread::start_thread_noexcept()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::thread_data_base::thread_data_base()': /usr/include/boost/thread/pthread/thread_data.hpp:162: undefined reference to vtable for boost::detail::thread_data_base'
/usr/bin/ld: /usr/include/boost/thread/pthread/thread_data.hpp:162: undefined reference to vtable for boost::detail::thread_data_base' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread::start_thread()':
/usr/include/boost/thread/detail/thread.hpp:182: undefined reference to boost::thread::start_thread_noexcept()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo)::{lambda()#2}>::~thread_data()':
/usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::detail::thread_data<AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo)::{lambda()#3}>::~thread_data()':
/usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo) [clone .cold]':
/usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()' /usr/bin/ld: /usr/include/boost/thread/detail/thread.hpp:94: undefined reference to boost::detail::thread_data_base::~thread_data_base()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread::~thread()': /usr/include/boost/thread/detail/thread.hpp:257: undefined reference to boost::thread::detach()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function `boost::detail::interruption_checker::interruption_checker(pthread_mutex_t, pthread_cond_t*)':
/usr/include/boost/thread/pthread/thread_data.hpp:207: undefined reference to boost::detail::get_current_thread_data()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::shared_mutex::lock()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:269: undefined reference to boost::this_thread::disable_interruption::disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::condition_variable::wait(boost::unique_lockboost::mutex&)':
/usr/include/boost/thread/pthread/condition_variable.hpp:88: undefined reference to boost::this_thread::interruption_point()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::shared_mutex::lock()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:269: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()' /usr/bin/ld: /usr/include/boost/thread/pthread/shared_mutex.hpp:269: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::shared_mutex::lock_shared()': /usr/include/boost/thread/pthread/shared_mutex.hpp:171: undefined reference to boost::this_thread::disable_interruption::disable_interruption()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::condition_variable::wait(boost::unique_lock<boost::mutex>&)': /usr/include/boost/thread/pthread/condition_variable.hpp:88: undefined reference to boost::this_thread::interruption_point()'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::shared_mutex::lock_shared()': /usr/include/boost/thread/pthread/shared_mutex.hpp:171: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()'
/usr/bin/ld: /usr/include/boost/thread/pthread/shared_mutex.hpp:171: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o): in function boost::thread::~thread()':
/usr/include/boost/thread/detail/thread.hpp:257: undefined reference to boost::thread::detach()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o):(.data.rel.ro+0x98): undefined reference to typeinfo for boost::detail::thread_data_base'
/usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-init.o):(.data.rel.ro+0xb0): undefined reference to typeinfo for boost::detail::thread_data_base' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::shared_mutex::lock_shared()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:171: undefined reference to boost::this_thread::disable_interruption::disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::condition_variable::wait(boost::unique_lockboost::mutex&)':
/usr/include/boost/thread/pthread/condition_variable.hpp:88: undefined reference to boost::this_thread::interruption_point()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::shared_mutex::lock_shared()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:171: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::shared_mutex::lock()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:269: undefined reference to boost::this_thread::disable_interruption::disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::condition_variable::wait(boost::unique_lockboost::mutex&)':
/usr/include/boost/thread/pthread/condition_variable.hpp:88: undefined reference to boost::this_thread::interruption_point()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::shared_mutex::lock()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:269: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::shared_mutex::lock_shared()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:171: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-sigcache.o): in function boost::shared_mutex::lock()':
/usr/include/boost/thread/pthread/shared_mutex.hpp:269: undefined reference to boost::this_thread::disable_interruption::~disable_interruption()' /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-validation.o): in function boost::condition_variable::wait(boost::unique_lockboost::mutex&)':
/usr/include/boost/thread/pthread/condition_variable.hpp:88: undefined reference to boost::this_thread::interruption_point()' collect2: error: ld returned 1 exit status make[2]: *** [Makefile:8343: bitcoind] Error 1 make[2]: Leaving directory '/root/bitcoin/src' make[1]: *** [Makefile:19347: all-recursive] Error 1 make[1]: Leaving directory '/root/bitcoin/src' make: *** [Makefile:801: all-recursive] Error 1
<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? -->
To reproduce
- Go to the server hosting provider (e.g. digitalocean.com)
- Create a dropplet (e.g. Ubuntu 20.04 server)
- Clone bitcoin
- Use the commands below
sudo apt install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3
sudo apt install libevent-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev
sudo apt install libsqlite3-dev
./contrib/install_db4.sh $(pwd)
export BDB_PREFIX=$(pwd)/db4
./autogen.sh
./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include"
make
<!--- How reliably can you reproduce the issue, what are the steps to do so? -->
System information Linux ubuntu-s-1vcpu-1gb-ams3-01 5.4.0-113-generic #127-Ubuntu SMP Wed May 18 14:30:56 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
CPU: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 40 bits physical, 48 bits virtual CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 63 Model name: DO-Regular Stepping: 2 CPU MHz: 2294.608 BogoMIPS: 4589.21 Virtualization: VT-x Hypervisor vendor: KVM Virtualization type: full L1d cache: 64 KiB L1i cache: 64 KiB L2 cache: 8 MiB NUMA node0 CPU(s): 0,1 Vulnerability Itlb multihit: KVM: Mitigation: Split huge pages Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT disabled Vulnerability Mds: Mitigation; Clear CPU buffers; SMT Host state unknown Vulnerability Meltdown: Mitigation; PTI Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP disabled, RSB filling Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf _lm abm cpuid_fault invpcid_single pti ssbd ibrs ibpb tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveop t md_clear
<!-- What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? -->
<!-- What type of machine are you observing the error on (OS/CPU and disk type)? -->
<!-- GUI-related issue? What is your operating system and its version? If Linux, what is your desktop environment and graphical shell? -->
<!-- Any extra information that might be useful in the debugging process. -->
<!--- This is normally the contents of a `debug.log` or `config.log` file. Raw text or a link to a pastebin type site are preferred. -->