pengaturan LD_LIBRARY_PATH untuk CUDA

12

Menginstal toolkit CUDA menghasilkan instruksi berikut yang dicetak ke konsol.

Pastikan LD_LIBRARY_PATH Anda untuk distribusi Linux 64-bit termasuk /usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

ATAU

untuk distribusi Linux 64-bit tambahkan /usr/local/cuda-5.0/lib64 dan /usr/local/cuda-5.0/lib ke /etc/ld.so.conf dan jalankan ldconfig sebagai root

Kode berikut /etc/profiletidak berpengaruh.

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

Artinya, me-reboot dan mengeluarkan echo $LD_LIBRARY_PATHmenunjukkan variabel tidak didefinisikan.

Untuk mencoba saran alternatif, saya menambahkan dua baris ke file /etc/ld.so.confsehingga file saya terlihat seperti ini

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

Lalu saya mengeluarkan:

sudo ldconfig

kemudian

echo $LD_LIBRARY_PATH

Namun variabel lingkungan tidak disetel. Bagaimana saya mematuhi instruksi instalasi CUDA yang ditunjukkan di atas?

H2ONaCl
sumber
1
ldconfig tidak menetapkan LD_LIBRARY_PATH, ini termasuk perpustakaan dengan cara yang berbeda.
w4etwetewtwet

Jawaban:

17

Tambahkan file dengan .confekstensi ke /etc/ld.so.conf.d/ yang berisi path ke pustaka dan kemudian jalankan ldconfig. Pastikan untuk mengatur izin dan kepemilikan file agar sesuai dengan file lain di direktori.

Ini adalah solusi seluruh sistem yang bertentangan dengan solusi spesifik pengguna untuk memodifikasi .bashrc.

Pada sistem saya saya membuat nvidia.confdi /etc/ld.so.conf.d/. File tersebut berisi baris:

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

Jika Anda membuat file seperti itu sudomaka izin Anda harus baik untuk pergi, tetapi saya nvidia.confadalah pemilik / grup root dan rw-r - r-- (atau 644).

Logan Mayfield
sumber
1
Ini sepertinya tidak berhasil. ldconfig tidak menetapkan $ LD_LIBRARY_PATH.
Nick
1
Pemahaman saya adalah bahwa ia memperbaiki masalah sedemikian rupa sehingga Anda tidak perlu mengatur variabel path. Jadi jika "tidak berfungsi" berarti variabel tidak disetel, maka pasti. Jika "tidak berfungsi" berarti CUDA tidak berfungsi, maka diperlukan lebih banyak informasi tentang masalah Anda karena ini diaktifkan (dan terus mengaktifkan) pengembangan CUDA pada pengaturan saya.
Logan Mayfield
Saya yakin ini berfungsi untuk beberapa hal, program yang saya coba kompilasi ingin menggunakan $ LD_LIBRARY_PATH, yang mungkin bukan praktik terbaik, artinya saya harus mengaturnya!
Nick
10

Masukkan yang berikut ini .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
H2ONaCl
sumber
Saya pikir metode yang disukai adalah membuat file .conf. Saya menggambarkan ini dalam jawaban saya di bawah ini.
Logan Mayfield