কেন আমি “/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 একটি প্রতীকী লিঙ্ক না” পাই?


12

CUDAটুলকিট ইনস্টল করার পরে এবং cuDNNসফলভাবে কোনও সমস্যা ছাড়াই, যখনই আমি করি:

sudo ldconfig 

আমি পেয়েছি:

/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link

ভুল বার্তা.
কারণ কী এবং আমি কীভাবে এটি সমাধান করতে পারি?

যাইহোক, আমি এটি ইনস্টল করেছি cuDNN:

 # cuDNN, extracts to a folder named cuda
 tar xvf cudnn*.tgz  
 cd cuda  
 sudo cp lib64/* /usr/local/cuda/lib64
 sudo cp include/* /usr/local/cuda/include

ls -lha libcudnn*ইন আউটপুট /usr/local/cuda/lib64নিম্নরূপ:

breeze@breeze:/usr/local/cuda/lib64$ ls -lha libcudnn*
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so.7
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so.7.0.5
-rw-r--r-- 1 root root 268M آوریل 15 12:03 libcudnn_static.a

উত্তর:


17

প্রিয় Godশ্বরের ধন্যবাদ আমি এই লিঙ্কটি ব্যবহার করে সমাধানটি পেয়েছি ।

আপনি যখন cuDNN ফাইলগুলি অনুলিপি করার পরে sudo ldconfig চালান তখন এটি ঘটতে পারে।

ইনস্টল করার পরে cuDNN, এক্সট্রাক্ট করা ফাইলগুলিতে অনুলিপি করা /usr/lib/cuda/lib64এবং সিমলিংক তৈরি করার পরে , সিমলিংকের সাথে জিনিসগুলি ভুল হতে পারে।

সুতরাং যান /usr/local/cuda/lib64/এবং চালান ls -lha libcudnn*

আপনার দুটি সিমলিংক (গা bold় টিল) এবং একটি সিঙ্গল ফাইল দেখতে হবে। এটার মতো কিছু:

/usr/local/cuda/lib64$ ls -lha libcudnn*
lrwxrwxrwx 1 root root  13 Dez 25 23:56 libcudnn.so -> libcudnn.so.5
lrwxrwxrwx 1 root root  17 Dez 25 23:55 libcudnn.so.5 -> libcudnn.so.5.1.5
-rwxr-xr-x 1 root root 76M Dez 25 23:27 libcudnn.so.5.1.5

Libcudnn.so.5.1.5 এর সঠিক সংস্করণটি সম্ভবত আপনার জন্য কিছুটা আলাদা হতে পারে (সম্ভবত libcudnn.so.5.1.10)। সেক্ষেত্রে কোডটি সেই অনুযায়ী মানিয়ে নিন

যদি libcudnn.soএবং libcudnn.so.5সিমলিংক না হয় তবে এই কারণেই আপনি এই ত্রুটিটি পেয়েছিলেন। যদি তা হয় তবে আপনার যা করা দরকার তা এটি:

/usr/local/cuda/lib64$ sudo rm libcudnn.so
/usr/local/cuda/lib64$ sudo rm libcudnn.so.5
/usr/local/cuda/lib64$ sudo ln libcudnn.so.5.1.5 libcudnn.so.5
/usr/local/cuda/lib64$ sudo ln libcudnn.so.5 libcudnn.so
Run sudo ldconfig again and there should be no errors

ls -lha libcudnn*ইন চালানো /usr/local/cuda/lib64এবং দেখার পরে:

breeze@breeze:/usr/local/cuda/lib64$ ls -lha libcudnn*
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so.7
-rwxr-xr-x 1 root root 275M آوریل 15 12:03 libcudnn.so.7.0.5
-rw-r--r-- 1 root root 268M آوریل 15 12:03 libcudnn_static.a

আমার করতেই হতো :

breeze@breeze:/usr/local/cuda/lib64$ sudo rm libcudnn.so
[sudo] password for breeze: 
breeze@breeze:/usr/local/cuda/lib64$ sudo rm libcudnn.so.7
breeze@breeze:/usr/local/cuda/lib64$ sudo ln libcudnn.so.7.0.5 libcudnn.so.7
breeze@breeze:/usr/local/cuda/lib64$ sudo ln libcudnn.so.7 libcudnn.so
breeze@breeze:/usr/local/cuda/lib64$ sudo ldconfig

এবং সবকিছু স্বাভাবিক অবস্থায় ফিরে এসেছে :)


4
প্রযুক্তিগতভাবে একটি প্রতীকী লিঙ্ক, যেমন ত্রুটি বার্তা দ্বারা উল্লেখ করা হয়েছে, উত্তরে 'ln' এর পরিবর্তে 'ln -s' দিয়ে তৈরি করা হয়েছে, যেমন উত্তরটিতে প্রস্তাবিত হয়েছে, যা একটি শক্ত লিঙ্ক তৈরি করবে।
জিয়েরগোস স্পিকাস

3

চেক

wxf:/usr/local/cuda/lib64$ ls -al libcudnn.so*
...
...
-rwxr-xr-x  3 root root 302770160 Jan 27 14:30 libcudnn.so          NO link
-rwxr-xr-x  3 root root 302770160 Jan 27 14:30 libcudnn.so.7        NO link
-rwxr-xr-x  3 root root 302770160 Jan 27 14:30 libcudnn.so.7.3.1
-rwxr-xr-x  1 root root 349141232 Jan 27 14:30 libcudnn.so.7.4.2
...
...

কোন সংযোগ নেই ->

(সমস্ত লিঙ্ক পরীক্ষা করুন sudo ldconfig -v:)

কারণ

(এনভিডিয়া থেকে ডাউনলোড করা চুডনের প্রতীকী লিঙ্ক রয়েছে)

wxf:~/cudnn/cuda/lib64$ ls -al
total 974632
drwxrwxr-x 2 wxf wxf      4096 Jan 19 19:50 .
drwxrwxr-x 4 wxf wxf      4096 Jan 19 19:50 ..
lrwxrwxrwx 1 wxf wxf        13 Dec 12 01:58 libcudnn.so -> libcudnn.so.7
lrwxrwxrwx 1 wxf wxf        17 Dec 12 01:58 libcudnn.so.7 -> libcudnn.so.7.4.2
-rwxrwxr-x 1 wxf wxf 302770160 Sep 21 01:36 libcudnn.so.7.3.1
-rwxrwxr-x 1 wxf wxf 349141232 Dec 12 01:30 libcudnn.so.7.4.2
-rw-rw-r-- 1 wxf wxf 346085818 Dec 12 01:30 libcudnn_static.a

আমরা যখন অনুলিপি করি তখন আমরা প্রতীকী তথ্যটি হারিয়েছি।

মেমো: ln -s A <-- B

যাও /usr/local/cuda/lib64

sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7

sudo ln -sf libcudnn.so.7 libcudnn.so

এখন,

wxf:/usr/local/cuda/lib64$ ls -al libcudnn.so*
...
...
lrwxrwxrwx  1 root root        13 Jan 27 14:43 libcudnn.so -> libcudnn.so.7
lrwxrwxrwx  1 root root        17 Jan 27 14:43 libcudnn.so.7 -> libcudnn.so.7.4.2
-rwxr-xr-x  1 root root 302770160 Jan 27 14:30 libcudnn.so.7.3.1
-rwxr-xr-x  1 root root 349141232 Jan 27 14:30 libcudnn.so.7.4.2
...

এখানে কী চলছে এবং কেন অনেক প্রশংসা হবে সে সম্পর্কে একটি ব্যাখ্যা
রিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.