0

guys, almost going crazy with this subject.

I have a big software to be installed and one of its requirements is boost library. I build it with intel toolset, but always when I trying to make software it gives me this error:

./libsrnd/.libs/libsrnd.so: undefined reference to `boost::serialization::singleton_module::is_locked()'
/home/igor/bie/Galphat/.libs/libGalphat.so: undefined reference to `boost::system::system_category()'
/home/igor/bie/Galphat/.libs/libGalphat.so: undefined reference to `boost::system::generic_category()'
make[3]: *** [bie_server_cli] Error 1
make[3]: *** Waiting for unfinished jobs....
../libsrnd/.libs/libsrnd.so: undefined reference to `boost::serialization::singleton_module::is_locked()'
/home/igor/bie/Galphat/.libs/libGalphat.so: undefined reference to `boost::system::system_category()'
/home/igor/bie/Galphat/.libs/libGalphat.so: undefined reference to `boost::system::generic_category()'
make[3]: *** [bie_server] Error 1
cli.o: In function `__sti__$E':
cli.cc:(.text+0xa3d2): undefined reference to `boost::system::generic_category()'
cli.cc:(.text+0xa3de): undefined reference to `boost::system::generic_category()'
cli.cc:(.text+0xa3ea): undefined reference to `boost::system::system_category()'
../libVector/.libs/libvector.so: undefined reference to `boost::serialization::singleton_module::is_locked()'

My boost library is build with this commands:

./bootstrap.sh
./b2 toolset=intel address-model=64 cxxflags="-std=c++11 fPIC" --layout=versioned link=static variant=debug,release

And im building software with:

./configure --prefix=/usr/local/galphat --with-boost-libdir=/home/igor/boost_1_69_0/stage/lib

And on boost tests is seems to be fine:

checking for boostlib >= 1.56.0... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem-il-mt-x64-1_69... yes
configure: WARNING: BOOST_CPPFLAGS -I/usr/include
checking whether the Boost::Serialization library is available... yes
checking for exit in -lboost_serialization-il-mt-d-x64-1_69... yes
checking whether the Boost::Regex library is available... yes
checking for exit in -lboost_regex-il-mt-d-x64-1_69... yes
checking whether the Boost::Program_Options library is available... yes
checking for exit in -lboost_program_options-il-mt-d-x64-1_69... yes
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system-il-mt-x64-1_69... yes

OS is CentOS Linux release 7.4.1708 (Core)

Can someone point direction of further attempts?

Igor Kolesnikov
  • 133
  • 1
  • 8
  • It looks like you have two different versions of boost: boost test is reporting `1.56.0` and `1_69`. CentOS probably has a copy of boost `1.56.0` in its `/usr/include` and `/usr/lib64` directories and your linking against that. – kenba Apr 15 '19 at 06:36
  • Actually this is from configure files. This version isn't from system version. – Igor Kolesnikov Apr 16 '19 at 13:14

1 Answers1

0

As no one give any feedback, I was trying further with test. It seems that problem in software compatibility with newer boost versions. I build all versions through 1.63 - 1.69 and only 1.61 worked, while all other gave almost same error.

Igor Kolesnikov
  • 133
  • 1
  • 8