Estou tentando construir o caffe a partir de um git checkout no Ubuntu 16.04.
Se encontrei a solução alternativa do gcc5 e resolvi os problemas do hf5, mas agora estou travado.
Resolvi a maioria das dependências, mas estou preso a essas.
/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)
O ubuntu 16.04 vem com boost 1.58 e não tem o pacote 1.55 ainda disponível no repo, alguém sabe onde posso encontrá-los e como instalá-los sem quebrar outros pacotes boost?
Também não tenho certeza de onde obter os arquivos libcu*
Alguém descobriu como contornar isso ou alguém está planejando fazer um pacote instantâneo de café que aliviaria essa dor?
Editar: a máquina em que estou fazendo isso é um dell precison m3800 com um NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1) em optimus com um intel 4600
Editar: a mensagem de erro sugere -rpath alguma sugestão sobre como usar isso?
Editar: acabei de fazer um git pull em minhas fontes de caffe esta manhã (18 de maio de 2016) e parece que o caffe agora mudou para as versões 1.58 das bibliotecas boost e 7.5 cuda libs, então está usando aquelas instaladas no meu sistema , no entanto, isso ainda não está estável e a compilação falha com páginas de avisos e erros. Esperançosamente, este é o começo da correção ...
Atualizar:
Usando o conselho de user.dz para usar as ferramentas cuda incluídas que eu fiz
apt-get install nvidia-cuda-toolkit
isso funcionou e me fez superar a parte difícil! obrigado @user.dz :)
construir o caffe ainda tinha uma tonelada de erros de compilação, que podiam ser corrigidos pesquisando-os no Google e encontrando postagens com soluções alternativas, muitos para listar.
Isso me levou ao ponto em que consegui compilar o caffe (com muitos avisos do boost) com sucesso, então acho que isso significa que esta pergunta foi respondida, obrigado a todos, especialmente user.dz!
como um aparte:
Agora estou preso tentando fazer o pycaffe construir, ele está reclamandolibboost_python3não sendo encontrado, tenho o pacote instalado, mas parece que não há uma versão .so, apenas uma .a, isso falha na compilação devido a um erro de realocação não suportado. alguma ideia ? vou começar uma nova pergunta sobre isso e postar um link para ela
pycaffe agora compila, corrigi-lo com um link simbólico atrevido :)
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_python-py35.so /usr/lib/x86_64-linux-gnu/libboost_python3.so
Responder1
Parece um pacote absoluto, por isso não está listado na pesquisa atravéspacotes.ubuntu.come pode obtê-lo em:
http://archive.ubuntu.com/ubuntu/pool/multiverse/n/nvidia-cuda-toolkit/
Em outros casos, você também pode procurar por repositórios de versões antigas:
http://old-releases.ubuntu.com/ubuntu/pool/universe/n/nvidia-cuda-toolkit/
Extraia-os e copie os objetos compartilhados necessários (bibliotecas) para
/usr/local/lib/
Você pode fazer o mesmo para aumentar as bibliotecas. Essas bibliotecas são versionadas para que você possa colocar muitas no mesmo sistema. O único limite para uma instalação fácil é a embalagem, eles as colocaram com o mesmo nome.
Se você acha que é necessário ter várias versões no mesmo sistema e é amplamente aplicável, registre um relatório de bug para isso.
Responder2
Acho que a versão da biblioteca para libcudart no Xenial é7,5. Você pode tentar direcioná-los (o mesmo para libcublas e libcurand)?
Boost foi atualizado para a versão0,58. Você também pode precisar instalar libboost-system-dev
além de libbost-system
(não é um desenvolvedor de inicialização, pegue este sal). O mesmo acontece com libboost-thread e libboost-python.
É muito possível que eles não tenham alterado os pacotes para corresponder ao 16.04 e, em vez disso, estejam visando os confiáveis, que parecem ter essas versões de pacotes.