كيفية الحصول على مسار مكتبة النظام على UNIX (Linux، FreeBSD)

StackOverflow https://stackoverflow.com/questions/2230467

سؤال

أحتاج إلى طريقة برنامجية محمولة أكثر أو أقل للاستعلام عن قائمة مسار المكتبة الديناميكي. لينكس، يمكنني تسليم $LD_LIBRARY_PATH ومحتويات /etc/ld.so.conf (معالجة include التوجيهات حسب الحاجة والتصفية المحتملة عن طريق الهندسة المعمارية)، ولكن هذا لا يعمل على سبيل المثال على FreeBSD.

في النهاية، أحتاج إلى وظيفة بيثون للقيام بذلك. يمكنه استدعاء دول مجلس التعاون الخليجي أو الأوامر الخارجية الأخرى إذا لزم الأمر.

هل كانت مفيدة؟

المحلول

لكل من لينكس و FreeBSD يمكنك محاولة العمل من خلال إخراج ldconfig(8). وبعد خيارات إدراج المكتبات مختلفة على الرغم من (-p على لينكس, -r على freebsd..) أتمنى أن يساعدك هذا.

يحرر:

سولاريس مختلف - انظر man crle.
Mac OSX مختلفة ولكن مرة أخرى - انظر man dyld.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top