Skip to content

Linking fails on boost lib when building with debug compiler flags #601

@FornaxA

Description

@FornaxA

Describe the issue

When building with debug compiler flags, the process halts (on 2 locations) on unlinked (Gregorian) calendar boost libs.

Can you reliably reproduce the issue?

If so, please list the steps to reproduce below:

  1. Clone
  2. ./autogen.sh; ./configure --enable-debug; make V=1

Expected behavior

Build should complete.

Actual behavior

The build fails due to boost::gregorian not being included in the linked libraries.

...
/bin/bash ../libtool  --tag=CXX   --mode=link g++ -std=c++11 -Wstack-protector -fstack-protector-all  -fPIC -g -O2 -g3 -O0 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter  -pthread  -Wl,-z,relro -Wl,-z,now   -o pivxd pivxd-pivxd.o  libbitcoin_server.a libbitcoin_common.a univalue/libunivalue.la libzerocoin/libbitcoin_zerocoin.a libbitcoin_util.a libbitcoin_wallet.a  crypto/libbitcoin_crypto.a ./leveldb/libleveldb.a ./leveldb/libmemenv.a secp256k1/libsecp256k1.la -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -ldb_cxx-4.8 -lssl -lcrypto -lminiupnpc -levent_pthreads -levent -levent  -lcrypto -lanl 
libtool: link: g++ -std=c++11 -Wstack-protector -fstack-protector-all -fPIC -g -O2 -g3 -O0 -Wall -Wextra -Wformat -Wvla -Wformat-security -Wno-unused-parameter -pthread -Wl,-z -Wl,relro -Wl,-z -Wl,now -o pivxd pivxd-pivxd.o  libbitcoin_server.a libbitcoin_common.a univalue/.libs/libunivalue.a libzerocoin/libbitcoin_zerocoin.a libbitcoin_util.a libbitcoin_wallet.a crypto/libbitcoin_crypto.a ./leveldb/libleveldb.a ./leveldb/libmemenv.a secp256k1/.libs/libsecp256k1.a -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono /usr/lib/libdb_cxx-4.8.so -lssl -lminiupnpc -levent_pthreads -levent -lcrypto -lanl -pthread
libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): In function `boost::date_time::month_formatter<boost::gregorian::greg_month, boost::date_time::iso_extended_format<char>, char>::format_month(boost::gregorian::greg_month const&, std::ostream&)':
/usr/include/boost/date_time/date_formatting.hpp:44: undefined reference to `boost::gregorian::greg_month::as_short_string() const'
/usr/include/boost/date_time/date_formatting.hpp:49: undefined reference to `boost::gregorian::greg_month::as_long_string() const'
collect2: error: ld returned 1 exit status
Makefile:3006: recipe for target 'pivxd' failed
make[2]: *** [pivxd] Error 1
make[2]: Leaving directory '/var/storage/git/PIVX/src'
Makefile:7872: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/storage/git/PIVX/src'
Makefile:681: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

What version of PIVX Core are you using?

b2fdbbf

Machine specs:

  • OS: Ubuntu Artful

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions