Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mongo C++ Client Library Doesn't See My Boost

I have downloaded Boost version 1.51, built it, and put it to /usr/local/boost_1_51_0. I have also downloaded mongo-cxx-driver-v2.4. Since there is no Makefile, I have to run scons, as this project is using the new python build environment. When I run scons, it checks for boost_thread-mt and boost_thread, from which both return "no". Obviously, it is not seeing that I have boost in the /usr/local directory. Since I am a Make and not a scons person, how do I get the mongodb building process to see my version of boost?

routerwc:~/mongo_proj/mongo-cxx-driver-nightly # scons --cpppath=/usr/local/boost_1_51_0/ --libpath=/usr/local/boost_1_51_0/stage/lib/
scons: Reading SConscript files ...
Checking for C++ library boost_thread-mt... no
Checking for C++ library boost_thread... no
routerwc:~/mongo_proj/mongo-cxx-driver-nightly # cat config.log 
file /root/mongo_proj/mongo-cxx-driver-nightly/SConstruct,line 70:
Configure(confdir = .sconf_temp)
scons: Configure: Checking for C++ library boost_thread-mt....sconf_temp/conftest_0.cpp <-
|
|
|
|int
|main() {
|  
|return 0;
|}
|
g++ -o .sconf_temp/conftest_0.o -c -O3 -pthread -D_SCONS -DMONGO_EXPOSE_MACROS -Ibuild -Ibuild/mongo .sconf_temp/conftest_0.cpp
g++ -o .sconf_temp/conftest_0 -Wl,--as-needed -Wl,-zdefs -pthread .sconf_temp/conftest_0.o -lboost_thread-mt
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_thread-mt
collect2: ld returned 1 exit status
scons: Configure: no

scons: Configure: Checking for C++ library boost_thread....sconf_temp/conftest_1.cpp <-
|
|
|
|int
|main() {
|  
|return 0;
|}
|
g++ -o .sconf_temp/conftest_1.o -c -O3 -pthread -D_SCONS -DMONGO_EXPOSE_MACROS -Ibuild -Ibuild/mongo .sconf_temp/conftest_1.cpp
g++ -o .sconf_temp/conftest_1 -Wl,--as-needed -Wl,-zdefs -pthread .sconf_temp/conftest_1.o -lboost_thread
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_thread
collect2: ld returned 1 exit status
scons: Configure: no
like image 206
user2414654 Avatar asked May 23 '13 17:05

user2414654


1 Answers

I was having the same problem, I download and extract boost in /usr/include/boost_1_57_0 then I run

sudo apt-get install libboost-all-dev

Then in the directory i have the c++ drivers i run

sudo scons --extrapath=/usr/include/boost_1_57_0
like image 175
user3010850 Avatar answered Oct 26 '22 23:10

user3010850