встановлення LD_LIBRARY_PATH для CUDA


12

Встановлення набору інструментів CUDA призводить до того, що наступні інструкції будуть надруковані на консоль.

Переконайтесь, що ваш LD_LIBRARY_PATH для 64-розрядних дистрибутивів Linux включає /usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

АБО

для 64-розрядних дистрибутивів Linux додайте /usr/local/cuda-5.0/lib64 та /usr/local/cuda-5.0/lib в /etc/ld.so.conf та запустіть ldconfig як root

Наведений нижче код /etc/profileне вплинув.

if [ -z "$LD_LIBRARY_PATH" ]; then    
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

Тобто, перезавантаження та видача echo $LD_LIBRARY_PATHпоказали, що змінна не була визначена.

Щоб спробувати альтернативну пропозицію, я додав у файл два рядки, щоб /etc/ld.so.confмій файл виглядав так

include /etc/ld.so.conf.d/*.conf 
/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

Потім я видав:

sudo ldconfig

потім

echo $LD_LIBRARY_PATH

Ще змінна середовище не була встановлена. Як я виконую інструкції з установки CUDA, показані вище?


1
ldconfig не встановлює LD_LIBRARY_PATH, він включає бібліотеки по-іншому.
w4etwetewtwet

Відповіді:


17

Додайте файл із .confрозширенням до /etc/ld.so.conf.d/ вмісту шляхів до бібліотек та запустіть ldconfig. Не забудьте встановити дозволи та права власності на файл, щоб вони відповідали іншим файлам у каталозі.

Це загальносистемне рішення на відміну від конкретного для користувача рішення модифікації .bashrc.

На моїй системі я зробив nvidia.confв /etc/ld.so.conf.d/. Файл містить рядки:

/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

Якщо ви створюєте файл, як і sudoтоді, вам слід добре дозволити, але мій nvidia.confвласник / група root і rw-r - r-- (або 644).


1
Це, здається, не працює. ldconfig не встановлює $ LD_LIBRARY_PATH.
Нік

1
Я розумію, що вона виправляє проблему таким чином, що вам не потрібно встановлювати змінну шляху. Отже, якщо "не працює" означає, що змінна не встановлена, тоді обов'язково. Якщо "не працює" означає, що CUDA не працює, тоді потрібна додаткова інформація щодо вашої проблеми, оскільки це ввімкнуто (і продовжує активувати) розробку CUDA під час моєї настройки.
Логан Мейфілд

Я впевнений, що він працює для деяких речей, програма, яку я намагався скласти, хоче використовувати $ LD_LIBRARY_PATH, що, мабуть, не найкраща практика, це означає, що мені потрібно це встановити!
Нік

10

Помістіть наступне .bashrc.

if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

Я думаю, що кращим методом є створення .conf-файлу. Я описав це у своїй відповіді нижче.
Логан Мейфілд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.