Ошибка установки Pycuda в Ubuntu: /usr/bin/ld: не удается найти -lcuda
Я новичок и устанавливаю pycuda2011.2.2 на Ubuntu 11.10, но не могу завершить его. Cuda 4.0.
Я установил библиотеки:
$ sudo apt-get install необходимая сборка python-dev python-setuptools libboost-python-dev libboost-thread-dev -y
вызывая configure.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
Но, когда я делаю:
.....@ubuntu:~/pycuda-2011.2.2$ make -j 4
Я получаю эту ошибку:
/ usr / bin / ld: не могу найти -lcuda
/ usr / bin / ld: пропуск несовместимого /usr/local/cuda/lib/libcurand.so при поиске -lcurand
почему эта ошибка?
Благодарю.
2 ответа
Вам нужно установить LDFLAGS
переменная окружения, так что установка Pycuda может найти libcuda.so
, который в нестандартных системах находится в Ubuntu (/usr/lib/nvidia-current
).
Установка Pycuda 2012.1 полностью основана на distutils, нет Makefile
участвует. Вы устанавливаете Pycuda, запустив ./configure.py
с соответствующими параметрами, сопровождаемыми LDFLAGS=/usr/lib/nvidia-current python setup.py install
,
Если вы используете более новые драйверы для карты nvidia, такие как nvidia-313 (это то, что я использую), то файл libcuda.so (который называется lcuda, я не знаю почему) может отсутствовать в каталоге установки cuda (по умолчанию это /usr/lib/cuda). Вместо этого вам, возможно, придется найти его самостоятельно. Делать:
$ find /usr/lib/*/libcuda.so
для меня результат
/usr/lib/nvidia-313-updates/libcuda.so
Итак, при установке Pycuda, я делаю:
$ python configure.py --cuda-root = / usr / lib / nvidia-313-updates
$ make
$ sudo make install
затем,
$ optirun python test / test_driver.py
или же
$ optirun python some_program_which_imports_pycuda.py
должно работать нормально.