& ldquo; / usr / bin / ld: не удается найти -lboost_python-mt & rdquo; ошибка при установке pycuda 2011.2.2

Я устанавливаю pycuda2011.2.2 в Ubuntu 11.10, но не могу его завершить. Когда я делаю pycuda-2011.2.2 $ make -j 4

, я получаю эту ошибку:

/usr/bin/ld: cannot find -lboost_python-mt    ,
/usr/bin/ld: cannot find -lcuda

Я также получил 1 точное совпадение задачи в поиске и решении Google:

 $ sudo ln -s /usr/lib/libboost_python-mt-py26 /usr/lib/libboost_python-mt

Но booooom, моя проблема не исчезает.

Меня удивляет, почему в поиске Google нет релевантных результатов, как будто только у меня есть эта проблема. Что случилось ? Любая помощь приветствуется.

Спасибо,

3
задан 5 June 2012 в 05:57

5 ответов

Илия говорит о исправлении -lcuda. Вы также можете добавить местоположение вашего каталога cuda lib в LD_LIBRARY_PATH.

Что касается проблемы libboost-python, повторите команду ./configure из общих инструкций pycuda и замените --boost-python-libname=boost_python-mt на --boost-python-libname=boost_python-mt-py26.

0
ответ дан 5 June 2012 в 05:57

Похоже, вам не хватает двух библиотек, которые нужно установить в первую очередь.

Boost.Python

Это предусмотрено в libboost-python и ``. Или, как сказано в в этих инструкциях , для установки этого и некоторых других предварительных условий (которые вы можете иметь или не иметь, основываясь на своих сообщениях об ошибках), выполните:

sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev -y

( Я бы не советовал следовать всем инструкциям на этой странице до письма от начала до конца, так как они написаны не с Ubuntu 11.10 и вам не нужны, и, вероятно, не Если вы хотите настроить вашу систему на использование более старого компилятора, чем он официально предоставлен.)

CUDA

Если вы уже загрузили CUDA с веб-сайта Nvidia и установили его, то вы просто необходимо указать где:

./configure.py --cuda-root=/where/ever/you/installed/cuda

(подробности см. на странице общих инструкций pycuda .)

Перед этим вы можете захотеть либо начните заново, либо запустите make distclean (или make clean, если make distclean не распознан).

Если вы еще не загрузили и не установили CUDA, вы можете сделать это на веб-сайте Nvidia. В частности, на этой странице найдите 32-битную или 64-битную версию инструментария CUDA для Ubuntu 11.04 (это ближайшая к вашей системе система, которая доступна и, вероятно, будет работать). Если вы не уверены, установлена ​​ли у вас 32-битная или 64-битная версия Ubuntu, запустите uname -m. Если написано x86_64, у вас есть 64-битная версия; в противном случае у вас есть 32-битная версия. Также возьмите драйверы разработки и SDK.

Быстрые ссылки (32-разрядные): Инструментарий Драйверы SDK
Быстрые ссылки (64-разрядные): Инструментарий Драйверы SDK

0
ответ дан 5 June 2012 в 05:57

Решение эльзирака работало лучше для меня. В целом, рабочий процесс установки, который работал для меня в Ubuntu 12.04, выглядит следующим образом:

Убедитесь, что система по умолчанию использует python 2.7.x:

python --version    

(должно быть Python 2.7.x)

Устранить старые драйверы Nvidia и установить необходимые условия для CUDA 5.5:

sudo apt-get remove --purge nvidia*    
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev    

Установить CUDA 5.5:

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_5.5-0_amd64.deb    
sudo dpkg -i cuda-repo-ubuntu1204_5.5-0_amd64.deb    
sudo apt-get update    
sudo apt-get install cuda    

Обновить переменные среды CUDA 5.5:

sudo echo "/usr/local/cuda-5.0/lib64" > /etc/ld.so.conf.d/cuda-5-5.conf    

Используйте текстовый редактор, чтобы добавить :/usr/local/cuda-5.5/bin в конец строки PATH в /etc/environment

Скачать pycuda:

wget https://pypi.python.org/packages/source/p/pycuda/pycuda-2013.1.1.tar.gz

Распаковать:

tar xvzf pycuda-2013.1.1.tar.gz    
[ 1119] Установка:

cd pycuda-2013.1.1    

rm siteconf.py    

./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt-py27 --boost-thread-libname=boost_thread-mt --no-use-shipped-boost    
sudo make install    

Проверка установки Pycuda:

cd test
python test_driver.py    
0
ответ дан 5 June 2012 в 05:57

Я тоже столкнулся с этой проблемой, но на Ubuntu 12.04. У меня было решение, похожее на ответ Макса Беккета, но вместо замены --boost-python-libname=boost_python-mt на --boost-python-libname=boost_python-mt-py26 оно было --boost-python-libname=boost_python-mt-py27 (обратите внимание, что «26» изменилось на «27» в зависимости от имеющейся у вас версии наддува)

Проверьте, какое усиление у вас есть:

ls /usr/lib/libboost_python*

Это было изменено в вызове на ./configure при совершении последнего вызова:

./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt-py27 --boost-thread-libname=boost_thread-mt --no-use-shipped-boost

Если вы уже запустили ./configure, вы нужно будет удалить ./siteconf.py

0
ответ дан 5 June 2012 в 05:57

проблема решена. Я нашел ответ в этой теме: http://forums.nvidia.com/index.php?showtopic=224718&st=0#entry1413660

0
ответ дан 5 June 2012 в 05:57

Другие вопросы по тегам:

Похожие вопросы: