我按照 caffe 上的步骤操作并更改了配置文件:
PYTHON_LIBRARIES := boost_python3 python3.5m PYTHON_INCLUDE :=
/usr/include/python3.5m \
/usr/lib/python2.7/dist-packages/numpy/core/include"
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
/usr/include/hdf5/serial/ LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib
/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
然后做了:
make all
make test
make runtest
这些运行正常。但是当我运行时:
make pycaffe
我收到一个错误:
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
/usr/bin/ld: cannot find -lboost_python3
collect2: error: ld returned 1 exit status Makefile:507: recipe for
target 'python/caffe/_caffe.so' failed make: ***
[python/caffe/_caffe.so] Error 1
我怎么解决这个问题?
最佳答案
可能您必须链接到不同的 python_boost 版本。
在 Makefile 中找到以下行:
PYTHON_LIBRARIES ?= boost_python....
可能您必须将其更改为
boost_python-py35
:PYTHON_LIBRARIES ?= boost_python-py35 python3.5m
在/usr/lib/x86_64-linux-gnu 中查找 libboost_python 文件或您的库所在的任何位置:
find /usr/lib/x86_64-linux-gnu/ -name libboost_python*so
find /usr/lib/x86_64-linux-gnu/ -name libpython*so
将显示您可以选择的库。 (如果文件是 libboost_python-py35.so 写 boost_python-py35)boost 和 python 库的版本必须匹配。
关于python - 如何在ubuntu中为python3安装caffe,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42175360/