cómo resolver dependencias construyendo caffe en ubuntu 16.04

cómo resolver dependencias construyendo caffe en ubuntu 16.04

Estoy intentando crear caffe desde un git checkout en ubuntu 16.04.

Si encontré la solución alternativa a gcc5 y solucioné los problemas de hf5, ahora estoy atascado.

Resolví la mayoría de las dependencias, pero estoy atascado con estas.

/usr/bin/ld: warning: libcudart.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcublas.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcurand.so.6.5, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_system.so.1.55.0, needed b
/usr/lib/libcaffe.so, may conflict with libboost_system.so.1.58.0
/usr/bin/ld: warning: libboost_thread.so.1.55.0, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_python-py27.so.1.55.0, needed by
/usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)

Ubuntu 16.04 se envía con Boost 1.58 y aún no tiene el paquete 1.55 disponible en el repositorio. ¿Alguien sabe dónde puedo encontrarlos y cómo instalarlos sin dañar otros paquetes de Boost?

Tampoco estoy seguro de dónde obtener los archivos libcu*

¿Alguien ha descubierto cómo solucionar este problema o alguien está planeando hacer un paquete rápido de café que aliviaría este dolor?

Editar: la máquina en la que estoy haciendo esto es una Dell Precisión m3800 con NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1) en Optimus con Intel 4600

Editar: el mensaje de error sugiere -rpath ¿Alguna sugerencia sobre cómo utilizarlo?

Editar: Acabo de hacer un git pull en mis fuentes de caffe esta mañana (18 de mayo de 2016) y parece que caffe ahora ha pasado a las versiones 1.58 de las bibliotecas boost y 7.5 cuda, por lo que está usando las instaladas en mi sistema. , sin embargo, esto aún no es estable y la compilación falla con páginas de advertencias y errores. Esperemos que este sea el comienzo de la solución...

Actualizar:

Siguiendo los consejos de user.dz para usar las herramientas cuda incluidas que hice

apt-get install nvidia-cuda-toolkit 

¡Esto funcionó y me ha ayudado a superar la parte difícil! gracias @user.dz :)

La creación de caffe todavía tenía un montón de errores de compilación, que se podían solucionar buscándolos en Google y encontrando publicaciones con soluciones alternativas, demasiadas para enumerarlas.

Esto me llevó al punto en el que pude compilar caffe (con muchas advertencias de boost) con éxito, así que creo que eso significa que esta pregunta está respondida, gracias a todos, ¡especialmente a user.dz!

como un aparte:

Ahora estoy atascado intentando hacer que pycaffe construya, me estoy quejandolibboost_python3no se encuentra, tengo el paquete instalado pero parece que no hay una versión .so, solo una .a, esto falla en la compilación debido a un error de reubicación no compatible. algunas ideas ? Comenzaré una nueva pregunta sobre eso y publicaré un enlace.

pycaffe ahora compila, lo arregló con un enlace simbólico descarado :)

sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so

Respuesta1

  1. Parece un paquete absoluto por eso no aparece en la búsquedapaquetes.ubuntu.comy lo puedo obtener de:

    http://archive.ubuntu.com/ubuntu/pool/multiverse/n/nvidia-cuda-toolkit/

    En otros casos, no uno, también puedes buscar el repositorio de versiones antiguas:

    http://old-releases.ubuntu.com/ubuntu/pool/universe/n/nvidia-cuda-toolkit/

  2. Extráigalos y copie los objetos compartidos necesarios (bibliotecas) a/usr/local/lib/

Puede hacer lo mismo con las bibliotecas de impulso. Estas bibliotecas tienen versiones para que pueda colocar muchas en el mismo sistema. El único límite para una fácil instalación es el embalaje, los han puesto bajo el mismo nombre.

Si cree que es necesario tener varias versiones en el mismo sistema y es ampliamente aplicable, presente un informe de error.

Respuesta2

Creo que la versión de la biblioteca para libcudart en Xenial es7.5. ¿Puedes intentar apuntar a esos en su lugar (lo mismo para libcublas y libcurand)?

Boost ha sido actualizado a la versión.58. Es posible que también deba realizar una instalación libboost-system-devademás de libbost-system(no es un desarrollador de arranque, tome esta sal). Lo mismo ocurre con libboost-thread y libboost-python.

Es muy posible que no hayan cambiado los paquetes para que coincidan con 16.04 y, en cambio, estén apuntando a Trusty, que parece tener esas versiones de paquetes.

información relacionada