ตั้งค่า LD_LIBRARY_PATH สำหรับ CUDA


12

การติดตั้งชุดเครื่องมือ CUDA จะส่งผลให้คำแนะนำต่อไปนี้ถูกพิมพ์ไปยังคอนโซล

โปรดตรวจสอบให้แน่ใจว่า LD_LIBRARY_PATH ของคุณสำหรับการแจกแจง Linux แบบ 64 บิตประกอบด้วย /usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

หรือ

สำหรับการแจกแจงลินุกซ์ 64 บิตให้เพิ่ม /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
Nick

1
ความเข้าใจของฉันคือการแก้ไขปัญหาในลักษณะที่คุณไม่จำเป็นต้องตั้งค่าตัวแปรเส้นทาง ดังนั้นหาก "ไม่ทำงาน" หมายความว่าไม่ได้ตั้งค่าตัวแปรไว้แน่นอน หาก "ไม่ทำงาน" หมายความว่า CUDA ไม่ทำงานจำเป็นต้องใช้ข้อมูลเพิ่มเติมเกี่ยวกับปัญหาของคุณเนื่องจากการเปิดใช้งาน (และเปิดใช้งาน) การพัฒนา CUDA ในการตั้งค่าของฉัน
Logan Mayfield

ฉันแน่ใจว่ามันใช้ได้กับบางสิ่งโปรแกรมที่ฉันพยายามรวบรวมต้องการใช้ $ LD_LIBRARY_PATH ซึ่งอาจไม่ใช่วิธีปฏิบัติที่ดีที่สุดนั่นหมายความว่าฉันต้องตั้งค่า!
Nick

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 ฉันอธิบายสิ่งนี้ในคำตอบของฉันด้านล่าง
Logan Mayfield
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.