- /usr/bin/ld: no se puede encontrar -lgflahs y -lhdf5_serial_h1

- /usr/bin/ld: no se puede encontrar -lgflahs y -lhdf5_serial_h1

¿Qué significa este error, durantecaféCompilacion ? ¿Cómo lo soluciono?

Comandos:

cd /home/aegono/CTPN/caffe
sudo make

Producción:

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

Ya instalé los módulos pero no sé cómo vincularlos y qué archivos deben vincularse y dónde encontrarlos. Probé el siguiente comando sin suerte. ¿Estoy haciendo lo correcto?

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/caffees la ubicación de mi caffepaquete. Cuando /usr/lib/x86_64-linux-gnu/busco la palabra gflahs, no pude encontrar nada, pero cuando busco la palabra gflagsusando el comando ls -l | grep 'gflags', a continuación se muestran los resultados:

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

Y cuando busco hdf5usar el comando ls -l | grep 'hdf5_serial', a continuación se muestran los resultados:

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/libhd

Respuesta1

¿Qué significa este error durante la compilación de caffe? ¿Cómo lo soluciono?

Significa que alguien escribió mal los nombres de las bibliotecas, tal vez al editarlos Makefile.config.

"gflahs" se supone que es "gflagramos"

"hdf5_serial_h1" es en realidad "hdf5_serial_hyo" (es una minúscula L, no un número).

Ya instalé los módulos pero no sé cómo vincularlos y qué archivos deben vincularse y dónde encontrarlos. Probé el siguiente comando sin suerte. ¿Estoy haciendo lo correcto?

No. Siempre que utilices , el cargador-lfooya sabeque debe buscar .libfoo.so

información relacionada