Make error: cannot find -lboost_python #376

Closed
IamGianluca opened this Issue Aug 21, 2014 · 9 comments

Projects

None yet

4 participants

@IamGianluca

I'm trying to install Vowpal Wabbit on a Linux Mint 17 (Linux kernel 3.13) machine. I've cloned the git repo git clone git://github.com/JohnLangford/vowpal_wabbit.git and launch the make command. I've also installed libboost-program-options-dev and zlib1g-dev as advised on the tutorial.

Unfortunately I get this error message which I can't interpret.

$ make
Makefile:10: Using g++
cd vowpalwabbit; make -j 8 things
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit'
make[1]: Nothing to be done for `things'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit'
cd cluster; make
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/cluster'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/cluster'
cd library; make -j 8
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/library'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/library'
cd python; make
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/python'
g++ -I/usr/include/python2.7 -I /usr/include -fPIC -c pylibvw.cc -o pylibvw.o
g++ -shared -Wl,--export-dynamic pylibvw.o -L /usr/lib -L /usr/lib/x86_64-linux-gnu -L/usr/lib/python2.7/config -lpython2.7 -L ../vowpalwabbit -l vw -l allreduce -L /usr/lib -L /usr/lib/x86_64-linux-gnu -l boost_program_options -l pthread -l z -l boost_python -o pylibvw.so
/usr/bin/ld: cannot find -lboost_python
collect2: error: ld returned 1 exit status
make[1]: *** [pylibvw.so] Error 1
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/python'
make: *** [python] Error 2

I've installed on my system both Python 2.7.6 and python-dev.

@JohnLangford
Owner

Install the boost python interface code. This is for the new python
bindings.

-John

On 08/21/2014 06:23 AM, Gianluca wrote:

I'm trying to install Vowpal Wabbit on a Linux Mint 17 (Linux kernel
3.13) machine. I've cloned the git repo |git clone
git://github.com/JohnLangford/vowpal_wabbit.git| and launch the |make|
command. I've also installed |libboost-program-options-dev| and
|zlib1g-dev| as advised on the tutorial.

Unfortunately I get this error message which I can't interpret.

|$ make
Makefile:10: Using g++
cd vowpalwabbit; make -j 8 things
make[1]: Entering directory /home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit' make[1]: Nothing to be done forthings'.
make[1]: Leaving directory /home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit' cd cluster; make make[1]: Entering directory/home/gianluca/Downloads/vowpal_wabbit/cluster'
make[1]: Nothing to be done for all'. make[1]: Leaving directory/home/gianluca/Downloads/vowpal_wabbit/cluster'
cd library; make -j 8
make[1]: Entering directory /home/gianluca/Downloads/vowpal_wabbit/library' make[1]: Nothing to be done forall'.
make[1]: Leaving directory /home/gianluca/Downloads/vowpal_wabbit/library' cd python; make make[1]: Entering directory/home/gianluca/Downloads/vowpal_wabbit/python'
g++ -I/usr/include/python2.7 -I /usr/include -fPIC -c pylibvw.cc -o pylibvw.o
g++ -shared -Wl,--export-dynamic pylibvw.o -L /usr/lib -L /usr/lib/x86_64-linux-gnu -L/usr/lib/python2.7/config -lpython2.7 -L ../vowpalwabbit -l vw -l allreduce -L /usr/lib -L /usr/lib/x86_64-linux-gnu -l boost_program_options -l pthread -l z -l boost_python -o pylibvw.so
/usr/bin/ld: cannot find -lboost_python
collect2: error: ld returned 1 exit status
make[1]: *** [pylibvw.so] Error 1
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/python'
make: *** [python] Error 2
|

I've installed on my system both Python 2.7.6 and |python-dev|.


Reply to this email directly or view it on GitHub
#376.

@IamGianluca

Thanks for your reply John. I've installed libboost-python1.55.0 but still get the same error message during the make procedure.

@JohnLangford
Owner

You need the -dev version of the package.

-John

On Thu, Aug 21, 2014 at 12:09 PM, Gianluca notifications@github.com wrote:

Thanks for your reply John. I've installed libboost-python1.55.0 but
still get the same error message during the make procedure.

Reply to this email directly or view it on GitHub
#376 (comment)
.

@IamGianluca

Thank you John. Following your advice I've sorted out that error but got a new one. I've installed the package libboost-python1.55-dev, I hope it was the one you meant.

$ make
Makefile:10: Using g++
cd vowpalwabbit; make -j 8 things
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit'
make[1]: Nothing to be done for `things'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit'
cd cluster; make
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/cluster'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/cluster'
cd library; make -j 8
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/library'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/library'
cd python; make
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/python'
g++ -shared -Wl,--export-dynamic pylibvw.o -L /usr/lib -L /usr/lib/x86_64-linux-gnu -L/usr/lib/python2.7/config -lpython2.7 -L ../vowpalwabbit -l vw -l allreduce -L /usr/lib -L /usr/lib/x86_64-linux-gnu -l boost_program_options -l pthread -l z -l boost_python -o pylibvw.so
/usr/bin/ld: cannot find -lboost_program_options
collect2: error: ld returned 1 exit status
make[1]: *** [pylibvw.so] Error 1
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/python'
make: *** [python] Error 2
@arielf
Collaborator
arielf commented Aug 21, 2014

Two things:

  1. Please don't install specific versions of libraries. Specifically: do not install Install libboost-python1.55-dev. Install libboost-python-dev instead. It should pull the current version automatically without creating a hard prerequisite on a specific version.

  2. You seem to be missing another dependency/prereq: libboost-program-options-dev

@IamGianluca

I've used aptitude to solve the dependecies because install libboost-python-dev on apt-get was having troubles. I've also installed libboost-program-options-dev as suggested by arielf (thank you!).

The make command this time doesn't return errors:

$ make
Makefile:10: Using g++
cd vowpalwabbit; make -j 8 things
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit'
make[1]: Nothing to be done for `things'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/vowpalwabbit'
cd cluster; make
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/cluster'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/cluster'
cd library; make -j 8
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/library'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/library'
cd python; make
make[1]: Entering directory `/home/gianluca/Downloads/vowpal_wabbit/python'
g++ -shared -Wl,--export-dynamic pylibvw.o -L /usr/lib -L /usr/lib/x86_64-linux-gnu -L/usr/lib/python2.7/config -lpython2.7 -L ../vowpalwabbit -l vw -l allreduce -L /usr/lib -L /usr/lib/x86_64-linux-gnu -l boost_program_options -l pthread -l z -l boost_python -o pylibvw.so
make[1]: Leaving directory `/home/gianluca/Downloads/vowpal_wabbit/python'

Unfortunately make test stops at the 68th test:

$ make test
Makefile:10: Using g++
vw running test-suite...
(cd test && ./RunTests -d -fe -E 0.001 ../vowpalwabbit/vw ../vowpalwabbit/vw)
testing linux Testing vw: ../vowpalwabbit/vw
Testing lda: ../vowpalwabbit/vw
RunTests: '-D' to see any diff output
RunTests: '-o' to force overwrite references
RunTests: test 1: stderr OK
RunTests: test 2: stderr OK
RunTests: test 2: predict OK
RunTests: test 3: stderr OK
RunTests: test 4: stdout OK
RunTests: test 4: stderr OK
RunTests: test 5: minor (<0.001) precision differences ignored
RunTests: test 5: stderr OK
RunTests: test 6: stderr OK
RunTests: test 6: minor (<0.001) precision differences ignored
RunTests: test 6: predict OK
RunTests: test 7: stderr OK
RunTests: test 8: minor (<0.001) precision differences ignored
RunTests: test 8: stderr OK
RunTests: test 8: minor (<0.001) precision differences ignored
RunTests: test 8: predict OK
RunTests: test 9: stderr OK
RunTests: test 9: predict OK
RunTests: test 10: stderr OK
RunTests: test 10: predict OK
RunTests: test 11: stderr OK
RunTests: test 12: stderr OK
RunTests: test 13: stderr OK
RunTests: test 14: stdout OK
RunTests: test 14: stderr OK
RunTests: test 15: stdout OK
RunTests: test 15: stderr OK
RunTests: test 16: stdout OK
RunTests: test 16: minor (<0.001) precision differences ignored
RunTests: test 16: stderr OK
RunTests: test 17: minor (<0.001) precision differences ignored
RunTests: test 17: stderr OK
RunTests: test 18: stderr OK
RunTests: test 19: stderr OK
RunTests: test 20: minor (<0.001) precision differences ignored
RunTests: test 20: stderr OK
RunTests: test 20: predict OK
RunTests: test 21: minor (<0.001) precision differences ignored
RunTests: test 21: stderr OK
RunTests: test 22: stdout OK
RunTests: test 22: stderr OK
RunTests: test 23: stdout OK
RunTests: test 23: stderr OK
RunTests: test 24: minor (<0.001) precision differences ignored
RunTests: test 24: stderr OK
RunTests: test 25: stderr OK
RunTests: test 25: minor (<0.001) precision differences ignored
RunTests: test 25: predict OK
RunTests: test 26: stderr OK
RunTests: test 26: minor (<0.001) precision differences ignored
RunTests: test 26: predict OK
RunTests: test 27: stderr OK
RunTests: test 27: minor (<0.001) precision differences ignored
RunTests: test 27: predict OK
RunTests: test 28: stderr OK
RunTests: test 28: minor (<0.001) precision differences ignored
RunTests: test 28: predict OK
RunTests: test 29: stderr OK
RunTests: test 30: stderr OK
RunTests: test 31: stderr OK
RunTests: test 32: stderr OK
RunTests: test 33: stderr OK
RunTests: test 34: minor (<0.001) precision differences ignored
RunTests: test 34: stderr OK
RunTests: test 34: predict OK
RunTests: test 35: stderr OK
RunTests: test 36: stderr OK
RunTests: test 37: stderr OK
RunTests: test 38: stderr OK
RunTests: test 39: minor (<0.001) precision differences ignored
RunTests: test 39: stderr OK
RunTests: test 40: stderr OK
RunTests: test 41: stderr OK
RunTests: test 42: stderr OK
RunTests: test 43: stderr OK
RunTests: test 44: stderr OK
RunTests: test 44: predict OK
RunTests: test 45: stderr OK
RunTests: test 45: predict OK
RunTests: test 46: stderr OK
RunTests: test 46: predict OK
RunTests: test 47: stderr OK
RunTests: test 48: stderr OK
RunTests: test 48: predict OK
RunTests: test 49: stderr OK
RunTests: test 49: predict OK
RunTests: test 50: stderr OK
RunTests: test 50: predict OK
RunTests: test 51: stderr OK
RunTests: test 52: stderr OK
RunTests: test 52: predict OK
RunTests: test 53: stderr OK
RunTests: test 53: predict OK
RunTests: test 54: stderr OK
RunTests: test 55: stderr OK
RunTests: test 56: stderr OK
RunTests: test 56: predict OK
RunTests: test 57: stderr OK
RunTests: test 57: predict OK
RunTests: test 58: stderr OK
RunTests: test 58: minor (<0.001) precision differences ignored
RunTests: test 58: predict OK
RunTests: test 59: stderr OK
RunTests: test 60: stderr OK
RunTests: test 61: stderr OK
RunTests: test 61: minor (<0.001) precision differences ignored
RunTests: test 61: predict OK
RunTests: test 62: stderr OK
RunTests: test 63: stderr OK
RunTests: test 63: minor (<0.001) precision differences ignored
RunTests: test 63: predict OK
RunTests: test 64: stderr OK
RunTests: test 64: minor (<0.001) precision differences ignored
RunTests: test 64: predict OK
RunTests: test 65: stdout OK
RunTests: test 65: stderr OK
RunTests: test 66: stdout OK
RunTests: test 66: stderr OK
RunTests: test 67: stderr OK
RunTests: test 68: '/usr/bin/timeout 20 ../vowpalwabbit/vw -d train-sets/0001.multi.dat -f models/bs.vote.multi.model --bootstrap 4 --bs_type vote -p bs.vote.multi.predict --passes 3 -c -k' failed (exitcode=1)
final_regressor = models/bs.vote.multi.model
Num weight bits = 18
learning rate = 0.5
initial_t = 0
power_t = 0.5
decay_learning_rate = 1
predictions = bs.vote.multi.predict
creating cache_file = train-sets/0001.multi.dat.cache
Reading datafile = train-sets/0001.multi.dat
can't open: train-sets/0001.multi.dat, error = No such file or directory
vw: std::exception
@arielf
Collaborator
arielf commented Aug 22, 2014

I see the same issue after pulling latest.

Looks like one of the recent fixes forgot to add the train-sets/0001.multi.dat file

@doxav can you add/push the missing file, please?

@JohnLangford
Owner

This seems to be a problem with the travis test as well, as it claims to be
passing.

-John

On Fri, Aug 22, 2014 at 4:26 PM, Ariel Faigon notifications@github.com
wrote:

I see the same issue after pulling latest.

Looks like one of the recent fixes forgot to add the
train-sets/0001.multi.dat file

@doxav https://github.com/doxav can you add/push the missing file,
please?

Reply to this email directly or view it on GitHub
#376 (comment)
.

@doxav
doxav commented Aug 23, 2014

Done. Travis is ok now. Sorry for the inconvenient.

Xavier

On Sat, Aug 23, 2014 at 3:53 AM, John notifications@github.com wrote:

This seems to be a problem with the travis test as well, as it claims to be
passing.

-John

On Fri, Aug 22, 2014 at 4:26 PM, Ariel Faigon notifications@github.com
wrote:

I see the same issue after pulling latest.

Looks like one of the recent fixes forgot to add the
train-sets/0001.multi.dat file

@doxav https://github.com/doxav can you add/push the missing file,
please?

Reply to this email directly or view it on GitHub
<
#376 (comment)

.


Reply to this email directly or view it on GitHub
#376 (comment)
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment