আমি সেন্টস 7 ন্যূনতমতে সফ্টওয়্যার সংগ্রহ দ্বারা পাইথন 3.5 ইনস্টল করেছি । এটি সমস্ত নিজেরাই ঠিকঠাক কাজ করেছে, তবে আমি যখন একটি সাধারণ সিজিআই স্ক্রিপ্ট চালানোর চেষ্টা করেছি তখন এই প্রশ্নটিতে উল্লিখিত ভাগ করা লাইব্রেরি ত্রুটিটি দেখেছি:
tail /var/log/httpd/error_log
AH01215: /opt/rh/rh-python35/root/usr/bin/python: error while loading shared libraries: libpython3.5m.so.rh-python35-1.0: cannot open shared object file: No such file or directory
আমি একটি সিস্টেমভিত্তিক স্থায়ী সমাধান চেয়েছিলাম যা সমস্ত ব্যবহারকারীর পক্ষে কাজ করে, যাতে প্রফাইলে বা .bashrc ফাইলগুলিতে রফতানি বিবৃতি যুক্ত করা বাদ যায়। সেখানে এক লাইন সমাধান, উপর ভিত্তি করে রেড হ্যাট সমাধান পাতা। মন্তব্যটি যে এটি উল্লেখ করে জন্য ধন্যবাদ:
echo 'source scl_source enable rh-python35' | sudo tee --append /etc/profile.d/python35.sh
পুনঃসূচনা করার পরে, শেলটিতে এটি সমস্ত ভাল, তবে কখনও কখনও আমার ওয়েব সার্ভারটি এখনও অভিযোগ করে। এখানে আরও একটি পদ্ধতি রয়েছে যা সর্বদা শেল এবং সার্ভার উভয়ের জন্যই কাজ করে এবং আরও জেনেরিক। আমি সমাধানটি এখানে দেখেছি এবং তারপরে বুঝতে পেরেছিলাম যে এটি এখানে উত্তরগুলির মধ্যে একটিতেও উল্লিখিত আছে! যাইহোক, সেন্টস 7 এ, এই পদক্ষেপগুলি:
vim /etc/ld.so.conf
আমার মেশিনে যা ছিল:
include ld.so.conf.d/*.conf
সুতরাং আমি একটি নতুন ফাইল তৈরি করেছি:
vim /etc/ld.so.conf.d/rh-python35.conf
এবং যোগ করেছেন:
/opt/rh/rh-python35/root/usr/lib64/
এবং নিজেই ক্যাশে পুনর্নির্মাণ করতে:
sudo ldconfig
এটাই, স্ক্রিপ্টগুলি ঠিকঠাক কাজ করে!
এটি ছিল একটি অস্থায়ী সমাধান, যা রিবুটগুলি জুড়ে কাজ করে না:
sudo ldconfig /opt/rh/rh-python35/root/usr/lib64/ -v
-V (ভার্বোস) বিকল্পটি কেবল কী চলছে তা দেখার জন্য। আমি দেখেছি এটি করেছে: / opt / rh / rh-python35 / root / usr / lib64: libpython3.so.rh-python35 -> libpython3.so.rh-python35 libpython3.5m.so.rh-python35-1.0 -> libpython3.5m.so.rh-python35-1.0
এই বিশেষ ত্রুটি চলে গেছে। ঘটনাচক্রে, আমি তার chownপরে অনুমতি ত্রুটি থেকে পরিত্রাণ পেতে আমাকে অ্যাপাচি করতে হয়েছিল।
নোট যে আমি ব্যবহৃত এটি গ্রন্থাগার করার জন্য ডিরেক্টরি সনাক্ত। আপনি এছাড়াও করতে পারেন:
sudo yum install mlocate
sudo updatedb
locate libpython3.5m.so.rh-python35-1.0
যা আমার ভিএম-এ রিটার্ন দেয়:
/opt/rh/rh-python35/root/usr/lib64/libpython3.5m.so.rh-python35-1.0
Ldconfig কে আমার যে পথটি দেওয়া দরকার তা উপরের মতো দেখানো হয়েছে।