2016-10-19 5 views
0

Я получаю это сообщение об ошибке, когда пытаюсь запустить файл make для caffe.Не удается найти lhdf5 при установке caffe

LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 
/usr/bin/ld: cannot find -lhdf5 
collect2: error: ld returned 1 exit status 
Makefile:567: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed 
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1 

Я попытался символическую компоновку в соответствии с этими instructions, но безрезультатно. Я читал другие сообщения на hdf5 и смотрел символические ссылки в/usr/lib/x86_64-linux-gnu.

drwxr-xr-x 3 root root  4096 Aug 29 16:43 hdf5 
-rw-r--r-- 1 root root 6075302 Apr 5 2016 libhdf5_cpp.a 
lrwxrwxrwx 1 root root  21 Apr 5 2016 libhdf5_cpp.so -> libhdf5_cpp.so.11.0.0 
lrwxrwxrwx 1 root root  21 Apr 5 2016 libhdf5_cpp.so.11 -> libhdf5_cpp.so.11.0.0 
-rw-r--r-- 1 root root 402080 Apr 5 2016 libhdf5_cpp.so.11.0.0 
-rw-r--r-- 1 root root 40108 Apr 5 2016 libhdf5_hl_cpp.a 
lrwxrwxrwx 1 root root  24 Apr 5 2016 libhdf5_hl_cpp.so -> libhdf5_hl_cpp.so.11.0.0 
lrwxrwxrwx 1 root root  24 Apr 5 2016 libhdf5_hl_cpp.so.11 -> libhdf5_hl_cpp.so.11.0.0 
-rw-r--r-- 1 root root 14688 Apr 5 2016 libhdf5_hl_cpp.so.11.0.0 
lrwxrwxrwx 1 root root  27 Oct 19 08:59 libhdf5_hl.so -> libhdf5_serial_hl.so.10.0.2 
-rw-r--r-- 1 root root 19953086 Apr 5 2016 libhdf5_serial.a 
-rw-r--r-- 1 root root 1659560 Apr 5 2016 libhdf5_serial_fortran.a 
lrwxrwxrwx 1 root root  32 Apr 5 2016 libhdf5_serial_fortran.so -> libhdf5_serial_fortran.so.10.0.2 
lrwxrwxrwx 1 root root  32 Apr 5 2016 libhdf5_serial_fortran.so.10 -> libhdf5_serial_fortran.so.10.0.2 
-rw-r--r-- 1 root root 238408 Apr 5 2016 libhdf5_serial_fortran.so.10.0.2 
-rw-r--r-- 1 root root 878832 Apr 5 2016 libhdf5_serial_hl.a 
-rw-r--r-- 1 root root 515320 Apr 5 2016 libhdf5_serialhl_fortran.a 
lrwxrwxrwx 1 root root  34 Apr 5 2016 libhdf5_serialhl_fortran.so -> libhdf5_serialhl_fortran.so.10.0.2 
lrwxrwxrwx 1 root root  34 Apr 5 2016 libhdf5_serialhl_fortran.so.10 -> libhdf5_serialhl_fortran.so.10.0.2 
-rw-r--r-- 1 root root 80520 Apr 5 2016 libhdf5_serialhl_fortran.so.10.0.2 
lrwxrwxrwx 1 root root  27 Apr 5 2016 libhdf5_serial_hl.so.10 -> libhdf5_serial_hl.so.10.0.2 
-rw-r--r-- 1 root root 126232 Apr 5 2016 libhdf5_serial_hl.so.10.0.2 
-rw-r--r-- 1 root root  3859 Apr 5 2016 libhdf5_serial.settings 
lrwxrwxrwx 1 root root  24 Oct 19 08:57 libhdf5.so -> libhdf5_serial.so.10.1.0 

У меня нет проблем. Как переустановить hdf5?

+0

https://ubuntuforums.org/showthread.php?t=2050804 –

+0

Будет ли это работать с hdf5? – Char

+0

Вы установили hdf5 из источника или с apt-get? –

ответ

0

Проблема заключается в компоновщик ищет libhdf5_cpp.so, но у вас есть только libhdf5_cpp.so.11.0.0

Быстрые обходной является симлинка libhdf5_cpp.so.11.0.0 к libhdf5_cpp.so

+0

lrwxrwxrwx 1 root root 21 Oct 20 12:35 libhdf5_cpp.so -> libhdf5_cpp.so.11.0.0' Я создал символическую ссылку, как и вы, но я все еще получаю ошибку. Есть идеи? 'AR -o .build_release/lib/libcaffe.a LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 /usr/bin/ld: не удалось найти -lhdf5 collect2: error: ld 1 статус выхода Makefile: 567: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed make: *** [.build_release/lib /affcaffe.so.1.0.0-rc3] Ошибка 1' – Char

+0

'fileName.so' - символическая ссылка на' fileName.so.11.0.0' тоже. Таким образом, у вас может быть несколько версий библиотеки в вашей системе, и если приложение нуждается в определенном, оно может ссылаться на него, в то время как в целом, новый выбирается symlink. –