Building fails in centos 7 #10910

issue amosbird opened this issue on July 22, 2017
  1. amosbird commented at 4:45 PM on July 22, 2017: none

    <!--- Remove sections that do not apply -->

    Describe the issue

    Building fails in centos 7.

    Can you reliably reproduce the issue?

    If so, please list the steps to reproduce below:

    1. build bitcoin in centos 7.

    Expected behaviour

    build succeeds.

    Actual behaviour

    build fails with following errors:

      CXXLD    bitcoin-tx
      CXXLD    bitcoind
      CXXLD    bitcoin-cli
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `void boost::call_once<void (*&)()>(boost::once_flag&, void (*&)())':
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:123: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:138: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:134: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:123: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:138: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:134: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `GetNumCores()':
    /home/amos/softwares/bitcoin/src/util.cpp:880: undefined reference to `boost::thread::physical_concurrency()'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_config_file_iterator<char>::getline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
    /usr/local/include/boost/program_options/detail/config_file.hpp:171: undefined reference to `boost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_config_file_iterator<char>::basic_config_file_iterator(std::istream&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)':
    /usr/local/include/boost/program_options/detail/config_file.hpp:155: undefined reference to `boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)'
    libbitcoin_util.a(libbitcoin_util_a-utiltime.o): In function `boost::this_thread::sleep_for(boost::chrono::duration<long, boost::ratio<1l, 1000000000l> > const&)':
    /usr/local/include/boost/thread/pthread/thread_data.hpp:243: undefined reference to `boost::this_thread::hidden::sleep_for(timespec const&)'
    collect2: error: ld returned 1 exit status
    make[2]: *** [bitcoin-tx] Error 1
    make[2]: *** Waiting for unfinished jobs....
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `void boost::call_once<void (*&)()>(boost::once_flag&, void (*&)())':
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:123: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:138: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:134: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:123: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:138: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:134: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `GetNumCores()':
    /home/amos/softwares/bitcoin/src/util.cpp:880: undefined reference to `boost::thread::physical_concurrency()'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_config_file_iterator<char>::getline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
    /usr/local/include/boost/program_options/detail/config_file.hpp:171: undefined reference to `boost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_config_file_iterator<char>::basic_config_file_iterator(std::istream&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)':
    /usr/local/include/boost/program_options/detail/config_file.hpp:155: undefined reference to `boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)'
    libbitcoin_util.a(libbitcoin_util_a-utiltime.o): In function `boost::this_thread::sleep_for(boost::chrono::duration<long, boost::ratio<1l, 1000000000l> > const&)':
    /usr/local/include/boost/thread/pthread/thread_data.hpp:243: undefined reference to `boost::this_thread::hidden::sleep_for(timespec const&)'
    collect2: error: ld returned 1 exit status
    make[2]: *** [bitcoin-cli] Error 1
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `void boost::call_once<void (*&)()>(boost::once_flag&, void (*&)())':
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:123: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:138: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:134: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:123: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:138: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)'
    /usr/local/include/boost/thread/pthread/once_atomic.hpp:134: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `GetNumCores()':
    /home/amos/softwares/bitcoin/src/util.cpp:880: undefined reference to `boost::thread::physical_concurrency()'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_config_file_iterator<char>::getline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
    /usr/local/include/boost/program_options/detail/config_file.hpp:171: undefined reference to `boost::program_options::to_internal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    libbitcoin_util.a(libbitcoin_util_a-util.o): In function `boost::program_options::detail::basic_config_file_iterator<char>::basic_config_file_iterator(std::istream&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)':
    /usr/local/include/boost/program_options/detail/config_file.hpp:155: undefined reference to `boost::program_options::detail::common_config_file_iterator::common_config_file_iterator(std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool)'
    libbitcoin_wallet.a(libbitcoin_wallet_a-db.o): In function `boost::filesystem::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option)':
    /usr/local/include/boost/filesystem/operations.hpp:539: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)'
    libbitcoin_util.a(libbitcoin_util_a-utiltime.o): In function `boost::this_thread::sleep_for(boost::chrono::duration<long, boost::ratio<1l, 1000000000l> > const&)':
    /usr/local/include/boost/thread/pthread/thread_data.hpp:243: undefined reference to `boost::this_thread::hidden::sleep_for(timespec const&)'
    collect2: error: ld returned 1 exit status
    make[2]: *** [bitcoind] Error 1
    make[2]: Leaving directory `/home/amos/softwares/bitcoin/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/amos/softwares/bitcoin/src'
    make: *** [all-recursive] Error 1
    

    What version of bitcoin-core are you using?

    commit 0c173a15ca1bf20999f74987988985508c9de463

    Machine specs:

    • OS: centos 7
    • CPU: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
    • RAM: 96GB
    • Disk size: plenty
    • Disk Type (HD/SDD): HD
  2. jonasschnelli added the label Build system on Jul 24, 2017
  3. brianmcmichael commented at 11:57 PM on July 24, 2017: contributor

    I just compiled from source on a fresh CentOS 7 vm with no issues. It looks like you're missing the boost dependency.

    You'll need to install all of the dependencies for Fedora at: build-unix.md#dependency-build-instructions-fedora

    You may need to install dnf first:

    sudo yum install epel-release
    sudo yum install dnf
    

    Then install the dependencies from "Dependency Build Instructions: Fedora" and through "Berkely DB". Boost itself gets installed in the dependencies section, so you won't need to compile it from source.

    Once the dependencies are installed, scroll back up and go through the build process again.

  4. amosbird commented at 8:55 AM on July 25, 2017: none

    @brianmcmichael thanks. I fixed it by using the manual built boost with ./configure --with-boost-libdir=/usr/local/lib

  5. amosbird closed this on Jul 25, 2017

  6. luckygirl-lv commented at 5:45 AM on October 19, 2020: none

    你好,你是怎么解决呢?没看明白,我也遇到了同样的问题

  7. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-01 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me