2017-02-11 3 views
0

Я последовал шаги по caffe и изменил файл Configure:Как установить Caffe для Python3 в убунту

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 

Как я могу решить эту проблему?

ответ

2

Возможно, вам нужно установить ссылку на другую версию python_boost.

В Makefile найти строку:

PYTHON_LIBRARIES ?= boost_python.... 

Вероятно, вы должны изменить что boost_python-py35:

PYTHON_LIBRARIES ?= boost_python-py35 python3.5m 

Посмотрите в/USR/Lib/x86_64-Linux-гну для libboost_python файлов или где бы ни находились ваши библиотеки:

find /usr/lib/x86_64-linux-gnu/ -name libboost_python*so 
find /usr/lib/x86_64-linux-gnu/ -name libpython*so 

покажет вам библиотеки, n выбрать из. (Если файл является libboost_python-py35.so write boost_python-py35). Базы boost и python должны совпадать в версии.

+0

Я нахожу 'PYTHON_LIBRARIES? = Boost_python python2.7' в Makefile, поэтому я должен изменить его на PYTHON_LIBRARIES? = Boost_python python3.5? –

+0

Вы должны изменить оба. –

1

компоновщика ищет libboost_python3, но в разных системах это Lib может иметь разные имена, то есть убунту 16,04 имеет boost_python-py35, так что вы можете создать символическую ссылку

1

Всех эти ЛИЭС должны уже сконфигурированную в файле Make.config

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler 
$ sudo apt-get install -y python-numpy python-scipy 
$ sudo apt-get install -y python3-dev 
$ sudo apt-get install -y python3-numpy python3-scipy 
$ sudo apt-get install -y libopencv-dev 
$ sudo apt-get install libboost-all-dev 
$ apt-cache search gflags 
$ sudo apt-get install libgflags2 libgflags-dev 
$ sudo apt-get install libgflags libgflags-dev 
$ sudo apt-get install libgflags-dev 
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev 
$ apt-cache search openblas 
$ sudo apt-get install libopenblas-dev 

Также смотрите:
1. https://gist.github.com/arundasan91/b432cb011d1c45b65222d0fac5f9232c
2. https://askubuntu.com/questions/629654/building-caffe-failed-to-see-hdf5-h
3. https://gist.github.com/victoriastuart/fb2cb22209ccb2771963a25c06221213