Я пытаюсь собрать caffe из git checkout на Ubuntu 16.04.
Если я нашел обходной путь 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)
Ubuntu 16.04 поставляется с boost 1.58 и не имеет пакета 1.55, доступного в репозитории. Кто-нибудь знает, где их найти и как установить, не нарушая работу других пакетов boost?
Я также не уверен, где взять файлы libcu*
Кто-нибудь придумал, как обойти эту проблему, или кто-нибудь планирует сделать упаковку кофе в быструю упаковку, которая облегчила бы эту проблему?
Редактировать: машина, на которой я это делаю, — это Dell Precison M3800 с NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1) в Optimus с Intel 4600
Редактировать: в сообщении об ошибке предлагается -rpath. Есть ли какие-нибудь предложения, как это использовать?
Редактировать: Я только что сделал git pull на моих исходниках caffe сегодня утром (18 мая 2016 г.), и похоже, что caffe теперь перешел на версии 1.58 библиотек boost и 7.5 библиотек cuda, поэтому использует те, что установлены в моей системе, однако это пока не стабильно, и компиляция завершается со страницами предупреждений и ошибок. Надеюсь, это начало исправления...
Обновлять:
Используя совет от user.dz по использованию встроенных инструментов cuda, я сделал
apt-get install nvidia-cuda-toolkit
это сработало и помогло мне преодолеть трудный момент! спасибо @user.dz :)
при сборке кафе все еще было много ошибок компиляции, их можно было исправить, погуглив и найдя посты с обходными путями, их слишком много, чтобы перечислять.
Это привело меня к тому, что я смог успешно скомпилировать caffe (с множеством предупреждений от boost), так что я думаю, что на этот вопрос дан ответ, спасибо всем, особенно 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
Кажется, это абсолютный пакет, почему он не указан в результатах поиска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/
Извлеките их и скопируйте необходимые общие объекты (библиотеки) в
/usr/local/lib/
Вы можете сделать то же самое для библиотек boost. Эти библиотеки имеют версии, поэтому вы можете разместить их много в одной системе. Единственное ограничение для легкой установки — это упаковка, они поместили их под одним и тем же именем.
Если вы считаете, что необходимо иметь несколько версий в одной системе и это широко применимо, отправьте отчет об ошибке.
решение2
Я думаю, что версия библиотеки для libcudart в Xenial — это7.5. Можете ли вы попробовать использовать их вместо этого (то же самое для libcublas и libcurand)?
Boost был повышен до версии.58. Вам также может потребоваться установить libboost-system-dev
в дополнение к libbost-system
(Не разработчик загрузчика, примите это во внимание). То же самое с libboost-thread и libboost-python.
Вполне возможно, что они не изменили пакеты для соответствия версии 16.04, а вместо этого нацелились на trusty, у которого, похоже, есть эти версии пакетов.