Не удалось создать кафе из исходного кода

Я пытаюсь установить caffe, создав его из источника

После выполнения следующей команды из корневого каталога кафе

$ make all -j4

Я получаю сообщение об ошибке

...
CXX src/caffe/layer_factory.cpp
CXX src/caffe/blob.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/x86_64-linux-gnu-ld: cannot find -lpython3.6
collect2: error: ld returned 1 exit status
Makefile:582: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

Установленные зависимости

$ sudo apt install python3-opencv
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
$ sudo apt-get install the python3-dev

CUDA: CUDA 9 CuDnn 7.4

Ubuntu: Ubuntu 18.04

Makefile.config

Я просмотрел все проблемы в исходном репозитории Github, но не нашел ничего полезного.


person Atinesh    schedule 13.03.2019    source источник


Ответы (2)


Таким образом, в вашей ошибке указано cannot find -lpython3.6, что в вашей системе отсутствует libpython3.6.so.

Попробуйте:
sudo apt-get install libpython3.6-dev

person Tom Mekken    schedule 13.03.2019
comment
попробуйте locate libpython3.6.so и попробуйте добавить этот путь в свой LD_LIBRARY_PATH перед вызовом make - person Tom Mekken; 13.03.2019
comment
Или, может быть, проблема в том, что в libpython3.6-dev есть библиотека с именем libpython3.6m.so. Так что либо вы вместо этого попытаетесь установить ссылку на -lpython3 (который автоматически использует libpython3.6m.so ... см. здесь), или вы пытаетесь создать символическую ссылку libpython3.6.so -> libpython3.6m.so - person Tom Mekken; 13.03.2019
comment
Я нашел проблему, разместил ее как ответ. - person Atinesh; 14.03.2019

Проблема решена, пришлось внести следующие изменения в Makefile.config файл

От

PYTHON_LIBRARIES := boost_python3 python3.6
PYTHON_INCLUDE := /usr/include/python3.6 \
/usr/lib/python3.6/dist-packages/numpy/core/include

Кому

PYTHON_LIBRARIES := boost_python3 python3.6m
PYTHON_INCLUDE := /usr/include/python3.6m \
/usr/lib/python3.6/dist-packages/numpy/core/include
person Atinesh    schedule 14.03.2019