cài đặt LD_LIBRARY_PATH cho CUDA


12

Cài đặt bộ công cụ CUDA dẫn đến các hướng dẫn sau đây được in ra bàn điều khiển.

Vui lòng đảm bảo LD_LIBRARY_PATH của bạn cho các bản phân phối Linux 64 bit bao gồm /usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

HOẶC LÀ

đối với các bản phân phối Linux 64 bit, hãy thêm /usr/local/cuda-5.0/lib64 và /usr/local/cuda-5.0/lib vào /etc/ld.so.conf và chạy ldconfig làm root

Các mã sau đây /etc/profilekhông có hiệu lực.

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

Đó là, khởi động lại và phát hành echo $LD_LIBRARY_PATHcho thấy biến không được xác định.

Để thử đề xuất thay thế, tôi đã thêm hai dòng vào tệp /etc/ld.so.confđể tệp của tôi trông như thế này

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

Sau đó tôi ban hành:

sudo ldconfig

sau đó

echo $LD_LIBRARY_PATH

Vẫn là biến môi trường không được đặt. Làm cách nào để tuân thủ các hướng dẫn cài đặt CUDA được hiển thị ở trên?


1
ldconfig không đặt LD_LIBRARY_PATH, nó bao gồm các thư viện theo một cách khác.
w4etwetewtwet

Câu trả lời:


17

Thêm một tệp có .confphần mở rộng /etc/ld.so.conf.d/ chứa đường dẫn đến thư viện và sau đó chạy ldconfig. Hãy chắc chắn đặt quyền và quyền sở hữu của tệp để khớp với các tệp khác trong thư mục.

Đây là một giải pháp toàn hệ thống trái ngược với giải pháp cụ thể của người dùng về sửa đổi .bashrc.

Trên hệ thống của tôi, tôi đã nvidia.conf/etc/ld.so.conf.d/. Tệp này chứa các dòng:

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

Nếu bạn tạo tệp như vậy sudothì quyền của bạn sẽ tốt, nhưng tôi nvidia.conflà chủ sở hữu / nhóm gốc và rw-r - r-- (hoặc 644).


1
Điều này dường như không hoạt động. ldconfig không đặt $ LD_LIBRARY_PATH.
Nick

1
Sự hiểu biết của tôi là nó khắc phục vấn đề theo cách mà bạn không cần phải đặt biến đường dẫn. Vì vậy, nếu "không hoạt động" có nghĩa là biến không được đặt, thì chắc chắn. Nếu "không hoạt động" có nghĩa là CUDA không hoạt động, thì cần thêm thông tin về vấn đề của bạn vì điều này được kích hoạt (và tiếp tục kích hoạt) phát triển CUDA trên thiết lập của tôi.
Logan Mayfield

Tôi chắc chắn rằng nó hoạt động cho một số thứ, chương trình tôi đang cố gắng biên dịch muốn sử dụng $ LD_LIBRARY_PATH, có lẽ không phải là cách thực hành tốt nhất, điều đó có nghĩa là tôi cần phải thiết lập nó!
Nick

10

Đặt như sau .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

Tôi nghĩ rằng phương pháp ưa thích là tạo một tệp .conf. Tôi đã mô tả điều này trong câu trả lời của tôi dưới đây.
Logan Mayfield
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.