우분투 16.04에서 Caffe 빌드 종속성을 해결하는 방법

우분투 16.04에서 Caffe 빌드 종속성을 해결하는 방법

우분투 16.04의 git checkout에서 caffe를 만들려고합니다.

gcc5 해결 방법을 찾고 hf5 문제를 정렬했지만 이제 멈춘 경우.

대부분의 종속성을 해결했지만 이러한 종속성으로 인해 문제가 발생했습니다.

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

우분투 16.04에는 부스트 1.58이 포함되어 있으며 리포지토리에 1.55 패키지가 아직 없습니다. 어디서 찾을 수 있는지, 다른 부스트 패키지를 손상시키지 않고 설치하는 방법을 아는 사람이 있습니까?

또한 libcu* 파일을 어디서 구할 수 있는지 잘 모르겠습니다.

이 문제를 해결하는 방법을 알아낸 사람이 있습니까? 아니면 이 고통을 완화할 수 있는 카페 스냅 패키지를 만들 계획을 갖고 있는 사람이 있습니까?

편집: 제가 이 작업을 수행하는 컴퓨터는 Intel 4600을 사용하는 Optimus의 NVIDIA Corporation GK107GLM [Quadro K1100M](rev a1)을 사용하는 Dell Precison m3800입니다.

편집: 오류 메시지는 -rpath를 사용하는 방법에 대한 제안을 제안합니까?

편집: 방금 오늘 아침(2016년 5월 18일) 내 caffe 소스에서 git pull을 수행했는데 caffe가 이제 1.58 버전의 Boost libs와 7.5 cuda libs로 이동하여 내 시스템에 설치된 라이브러리를 사용하고 있는 것 같습니다. 그러나 이는 아직 안정적이지 않으며 경고 및 오류 페이지와 함께 컴파일이 실패합니다. 이것이 해결의 시작이길 바랍니다...

업데이트:

내가 한 번들 cuda 도구를 사용하기 위해 user.dz의 조언을 사용합니다.

apt-get install nvidia-cuda-toolkit 

이것은 효과가 있었고 어려운 부분을 지나게 만들었습니다! @user.dz 감사합니다 :)

caffe를 구축하는 데는 여전히 수많은 컴파일 오류가 있었습니다. 이러한 오류는 인터넷 검색을 통해 해결할 수 있고 해결 방법이 있는 게시물을 찾아 해결할 수 있었는데 나열하기에는 너무 많습니다.

이로 인해 나는 caffe(부스트의 많은 경고와 함께)를 성공적으로 컴파일할 수 있게 되었고, 이는 이 질문에 대한 답변이 됐다는 것을 의미한다고 생각합니다. 모두에게 감사합니다, 특히 user.dz!

여담으로:

나는 이제 pycaffe를 빌드하려고 시도하면서 막혔습니다.libboost_python3찾을 수 없습니다. 패키지가 설치되어 있지만 .so 버전은 없고 .a만 있는 것 같습니다. 지원되지 않는 재배치 오류로 인해 빌드가 실패합니다. 어떤 아이디어가 있나요? 그것에 대해 새로운 질문을 시작하고 그에 대한 링크를 게시하겠습니다.

이제 pycaffe가 빌드되고 건방진 심볼릭 링크로 수정되었습니다 :)

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

답변1

  1. 검색에 왜 나오지 않는지 절대적인 패키지인 것 같습니다.packages.ubuntu.com다음에서 얻을 수 있습니다.

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

    다른 경우에는 이전 릴리스 저장소도 찾을 수 있습니다.

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

  2. 이를 추출하고 필요한 공유 객체(라이브러리)를 복사하여/usr/local/lib/

부스트 라이브러리에 대해서도 동일한 작업을 수행할 수 있습니다. 이러한 라이브러리는 버전이 지정되어 있으므로 동일한 시스템에 여러 라이브러리를 넣을 수 있습니다. 쉬운 설치에 대한 유일한 제한은 포장이며 동일한 이름으로 표시되었습니다.

동일한 시스템에 여러 버전이 필요하고 널리 적용 가능하다고 생각되면 이에 대한 버그 보고서를 제출하세요.

답변2

Xenial의 libcudart 라이브러리 버전은 다음과 같습니다.7.5. 대신 이를 타겟팅해 볼 수 있습니까(libcublas 및 libcurand에도 동일)?

Boost 버전이 업그레이드되었습니다..58. 또한 (부팅 개발자가 아니므로 이 소금을 사용하십시오.) libboost-system-dev추가로 설치해야 할 수도 있습니다 . libbost-systemlibboost-thread 및 libboost-python과 동일합니다.

16.04와 일치하도록 패키지를 변경하지 않고 대신 해당 패키지 버전이 있는 것으로 보이는 trusty를 대상으로 하고 있을 가능성이 매우 높습니다.

관련 정보