এলডি_লিবিআরএইপিএটিএইচ ভেরিয়েবলটি কোনও পরিবেশ থেকে অনুপস্থিত তা কি স্বাভাবিক?


15

আমি কাকতালীয়ভাবে আবিষ্কার করেছি যে আমার ডেবিয়ান জেসির উপর কোনও LD_LIBRARY_PATHপরিবর্তনশীল নেই (হুবহু printenv | grep LDলিঙ্কারের সাথে সম্পর্কিত কিছুই দেখায় না এবং echo "$LD_LIBRARY_PATH"এটি কিছুই দেখায় না)।

এটি এক্স টার্মিনাল এমুলেটারের ক্ষেত্রে ( যা সেটগিডের কারণে এটি সাফ হতে পারে ) পাশাপাশি বেসিক টার্মিনালে ( Ctrl+Alt+F1)।

আমি জানি এটি LD_LIBRARY_PATH খারাপ হিসাবে বিবেচিত হতে পারে তাই ডেবিয়ান এটি কোনওভাবে ব্লক করতে পারে তবে অন্যদিকে কয়েকটি ফাইল /etc/ld.so.conf.d/রয়েছে যাতে কিছু ডিরেক্টরি যুক্ত হতে হবে LD_LIBRARY_PATH। আমার আরসি ফাইলগুলির মধ্যে কোনওটিই (যা আমি জানি) কোনওটির সাথেই LD_LIBRARY_PATHগোলযোগ হয়নি।

আমি কেন একটি LD_LIBRARY_PATHপরিবর্তনশীল দেখতে পাচ্ছি না ?

উত্তর:


22

হ্যাঁ, এটি স্বাভাবিক যে আপনার কোনও স্পষ্টতা নেই LD_LIBRARY_PATH। এছাড়াও পড়ুন ldconfig (8) এবং LD-লিনাক্স (8) এবং প্রায় rpath । লক্ষ্য করুন যে ldconfigআপডেট /etc/ld.so.cache, না LD_LIBRARY_PATH। কখনও কখনও আপনি লিঙ্কের সময় পাস ডিরেক্টরিতে স্পষ্টভাবে একটি নির্বাহযোগ্য এর আরপথ সেট করতে হবে ।-Wl,-rpath,gcc

আপনার যদি একটি প্রয়োজন LD_LIBRARY_PATH(তবে আপনার সম্ভবত হওয়া উচিত নয়), এটি নিজেকে সেট করুন (যেমন ~/.bashrc)।

আপনি সিস্টেম ওয়াইড সেটিংস প্রয়োজন হয়, আপনি পারা যেমন যোগ করার বিষয়টি বিবেচনা /usr/local/lib/মধ্যে /etc/ld.so.confএবং চালানোর ldconfigসেখানে প্রত্যেক লাইব্রেরির ইনস্টলেশনের পরে।

আমি যতদূর জানি $LD_LIBRARY_PATHশুধুমাত্র গতিশীল linker দ্বারা ব্যবহার করা হয় ld-linux.so(এবং দ্বারা dlopen (3) যার ফলে এটি ব্যবহার করে) পরে execve (2) । আরও দেখুন ldd (1)

আরও বেশি করে ভাগ করে নেওয়া গ্রন্থাগারগুলি কীভাবে লিখবেন সে সম্পর্কে ড্রেপার পড়ুন ।


এটি আমার ভুল ছিল, যদিও আমি এলডি_লিবিআরএইপিএটিএইচ চালনার পণ্যldconfig । এদিকে এটি ফাইলগুলির পাশাপাশি ldconfig এর ইনপুট/etc/ld.so.conf
calaeda.info

1
আমার অনুভূতিটি ldconfigব্যবহার করবেন না $LD_LIBRARY_PATH(যা কেবলমাত্র সময়ে ব্যবহৃত হয় ld-linux.so)
বেসাইল স্টারিনকিভিচ

3
@ calavera.info এটি কোনওটি নয়। গতিশীল লিঙ্কার রানটাইমের সময়ে আউটপুট সহ LD_LIBRARY_PATH একসাথে ব্যবহার করেldconfigldconfigনা ব্যবহার বা পরিবর্তন LD_LIBRARY_PATH
hobbs

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