ডেস্কটপ থেকে শুরু হওয়া অ্যাপ্লিকেশনগুলির জন্য LD_LIBRARY_PATH সেট করুন


8

আমি উবুন্টু 10.04 এলটিএসে কিউটি ক্রিয়েটার ইনস্টল করেছি। আমি যখন ডেস্কটপ থেকে কিউটি ক্রিয়েটার চালু করি তখন আমি যে অ্যাপ্লিকেশনটিতে কাজ করছি তা তৈরি করতে পারি তবে এটি চালানো বা ডিবাগ করতে পারি না। কিছুটা লড়াই করার পরে আমি দেখতে পেলাম যে ডেস্কটপ থেকে চালিত অ্যাপ্লিকেশনগুলির জন্য এলডি_লিবিআরএআইএপিএটি সেট করা নেই। যদি আমি বাশ থেকে কিউটি ক্রিয়েটার শুরু করি (যেখানে LD_LIBRARY_PATH .bashrc এ সেট করা আছে) সমস্ত কিছু চালিত হয় এবং পুরোপুরি ডিবাগ হয়।

আমি কীভাবে LD_LIBRARY_PATH সেট করব যাতে এটি চলমান সমস্ত অ্যাপ্লিকেশনের জন্য সেট করা থাকে?

উত্তর:


6

এটি অ্যাপ্লিকেশনটিতে একটি বাগের মতো মনে হচ্ছে। এটিতে একটি মোড়ক স্ক্রিপ্ট থাকা উচিত যা কোনও প্রয়োজনীয় LD_LIBRARY_PATHভেরিয়েবল সঠিকভাবে সেট করে । এই জাতীয় স্ক্রিপ্ট লেখার সময় সতর্কতা অবলম্বন করুন, যেহেতু আপনি LD_LIBRARY_PATHযে কলোনটিকে পথ বিভাজক হিসাবে ব্যবহার করেন তার মাঝে স্ট্রিংয়ের কোনও খালি অংশ রাখতে চান না । উদাহরণস্বরূপ, এর ফলে খারাপ দিক হতে পারে, যদি প্রাথমিকভাবে ভেরিয়েবলটি খালি থাকে (ফলস্বরূপ কোলনের আগে একটি খালি স্ট্রিং তৈরি হয়):

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/some/path/for/app"

সুতরাং, কোনও পাথ যুক্ত করার সময় আপনি প্রথমে খালি স্ট্রিংয়ের জন্য পরীক্ষা করতে চান। উদাহরণস্বরূপ, শেল কোড ব্যবহার করে:

LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}/some/path/for/app

2

/Etc/ld.so.conf সমন্বিত একটি নতুন ফাইল তৈরি করুন:

# Begin /etc/ld.so.conf
/lib
/usr/lib
/usr/X11R6/lib
# whatever else #

চালিয়ে গতিশীল লোডার ক্যাশে আপডেট করুন:

ldconfig

0

এ ছাড়াও .bashrc, পরিবেশের পরিবর্তনশীল এটিকেও সেট করুন .profile। এই ফাইলটি আপনার অধিবেশন দ্বারা প্রসেসড এবং লোড হবে, সুতরাং এটি আপনার ব্যবহারকারীর হিসাবে চলমান সমস্ত কিছুর উপর প্রভাব ফেলবে। এছাড়াও: এই ফাইলটি বলছে যে এটি .bashrcউপস্থিত থাকলে তা বাশ দ্বারা পড়া হয়নি , তবে এটি এখনও প্রয়োগ করা হবে বলে মনে হচ্ছে (সম্ভবত যেহেতু বাশ X সেশনটি শুরু হয়েছিল সেখান থেকে উত্তরাধিকার সূত্রে প্রাপ্ত)। যদিও উভয় ফাইলের মধ্যে ভেরিয়েবল থাকতে আঘাত করে না।


আমি প্রফাইলে তৈরি করার চেষ্টা করেছি পাশাপাশি কোনও ভাগ্য নেই।
dwj

আমি কোথাও পড়েছি যে উবুন্টু (দেবিয়ান?) এর একটি "সুরক্ষা" বৈশিষ্ট্য রয়েছে যা আপনাকে প্রারম্ভকালে LD_LIBRARY_PATH সেট করতে দেয় না কারণ এটি প্রোফাইলে লোড করার পরে ওভাররাইট করা হয়। এখনও কর্মক্ষেত্র আছে।
alfC


0

বুটআপে সিস্টেমের বিস্তৃত পরিবর্তন আনতে এটি শীর্ষে /etc/bash.bashrc এ সেট করুন।

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