Ошибка компиляции Caffe - Ubuntu 18.04.4 Live Server в виртуальной коробке - PullRequest
0 голосов
/ 23 марта 2020

Что означает эта ошибка во время компиляции caffe ? Как мне это исправить?

Команды:

cd /home/aegono/CTPN/caffe
sudo make

Вывод:

LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lgflahs
/usr/bin/ld: cannot find -lhdf5_serial_h1
collect2: error: ld returned 1 exit status
Makefile:515: recipe for target '.build_release/lib/libcaffe.so' failed
make: *** [.build_release/lib/libcaffe.so] Error 1/CTPN/caffe

ОБНОВЛЕНИЕ:

Я уже установил модули, но я делаю не знаю, как связать их и какие файлы должны быть связаны и где я могу их найти. Я попробовал команду ниже без удачи. Правильно ли я поступаю?

sudo ln -s /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0 /usr/lib/x86_64-linux-gnu/hdf5_serial_h1

ОБНОВЛЕНИЕ: /home/aegono/CTPN/caffe - это расположение моего пакета с кофе. В /usr/lib/x86_64-linux-gnu/, когда я ищу слово gflahs, я ничего не мог найти, но когда я ищу слово gflags с помощью команды ls -l | grep 'gflags', ниже приведены результаты:

root@ubuntu_18-04-4_live_server:/usr/lib/x86_64-linux-gnu# ls -l | grep "gflags"
-rw-r--r--  1 root root   258068 Aug  6  2017 libgflags.a
-rw-r--r--  1 root root   256002 Aug  6  2017 libgflags_nothreads.a
lrwxrwxrwx  1 root root       26 Aug  6  2017 libgflags_nothreads.so -> 
libgflags_nothreads.so.2.2
lrwxrwxrwx  1 root root       28 Aug  6  2017 libgflags_nothreads.so.2.2 -> 
libgflags_nothreads.so.2.2.1
-rw-r--r--  1 root root   146096 Aug  6  2017 libgflags_nothreads.so.2.2.1
lrwxrwxrwx  1 root root       16 Aug  6  2017 libgflags.so -> 
libgflags.so.2.2
lrwxrwxrwx  1 root root       18 Aug  6  2017 libgflags.so.2.2 -> 
libgflags.so.2.2.1
-rw-r--r--  1 root root   150248 Aug  6  2017 libgflags.so.2.2.1

И когда я ищу hdf5 с помощью команды ls -l | grep 'hdf5_serial', ниже приведены результаты:

root@ubuntu_18-04-4_live_server:/usr/lib/x86_64-linux-gnu# ls -l | grep "hdf5_serial"
lrwxrwxrwx  1 root root       54 Mar 24 06:01 hdf5_serial_h1 -> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0
lrwxrwxrwx  1 root root       54 Mar 24 06:22 hdf5_serial_h1.so -> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0
lrwxrwxrwx  1 root root       54 Mar 23 19:22 lhdf5_serial_h1 -> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100.0.0
-rw-r--r--  1 root root  8028880 Aug 13  2017 libhdf5_serial.a
-rw-r--r--  1 root root   398412 Aug 13  2017 libhdf5_serial_fortran.a
lrwxrwxrwx  1 root root       33 Aug 13  2017 libhdf5_serial_fortran.so -> libhdf5_serial_fortran.so.100.0.1
lrwxrwxrwx  1 root root       33 Aug 13  2017 libhdf5_serial_fortran.so.100 -> libhdf5_serial_fortran.so.100.0.1
-rw-r--r--  1 root root   250760 Aug 13  2017 libhdf5_serial_fortran.so.100.0.1
-rw-r--r--  1 root root   245840 Aug 13  2017 libhdf5_serial_hl.a
-rw-r--r--  1 root root   187354 Aug 13  2017 libhdf5_serialhl_fortran.a
lrwxrwxrwx  1 root root       35 Aug 13  2017 libhdf5_serialhl_fortran.so -> libhdf5_serialhl_fortran.so.100.0.0
lrwxrwxrwx  1 root root       35 Aug 13  2017 libhdf5_serialhl_fortran.so.100 -> libhdf5_serialhl_fortran.so.100.0.0
-rw-r--r--  1 root root   121400 Aug 13  2017 libhdf5_serialhl_fortran.so.100.0.0
lrwxrwxrwx  1 root root       28 Aug 13  2017 libhdf5_serial_hl.so -> libhdf5_serial_hl.so.100.0.0
lrwxrwxrwx  1 root root       28 Aug 13  2017 libhdf5_serial_hl.so.100 -> libhdf5_serial_hl.so.100.0.0
-rw-r--r--  1 root root   138576 Aug 13  2017 libhdf5_serial_hl.so.100.0.0
-rw-r--r--  1 root root     4084 Aug 13  2017 libhdf5_serial.settings
lrwxrwxrwx  1 root root       25 Aug 13  2017 libhdf5_serial.so -> libhdf5_serial.so.100.0.1
lrwxrwxrwx  1 root root       25 Aug 13  2017 libhdf5_serial.so.100 -> libhdf5_serial.so.100.0.1
-rw-r--r--  1 root root  3495976 Aug 13  2017 libhdf5_serial.so.100.0.1
lrwxrwxrwx  1 root root       51 Mar 23 19:17 libhdf5.so -> /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100.0.1

1 Ответ

1 голос
/ 23 марта 2020

Вам не хватает hdf5_serial и gflags в соответствии с ошибкой компиляции. Попробуйте установить их, используя sudo apt-get install libhdf5-serial-dev и sudo apt-get install libgflags-dev.

Если они уже установлены, вам необходимо связать их.

Редактировать: Перейти к Makefile.config , Выполните следующие изменения в PYTHON_INCLUDE, INCLUDE_DIRS и LIBRARY_DIRS

PYTHON_INCLUDE := /usr/include/python2.7 /usr/local/lib/python2.7/dist-packages/numpy/core/include  
WITH_PYTHON_LAYER := 1  
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 /usr/lib/x86_64-linux-gnu/hdf5/serial 
...