قم بإعادة تمييز مكتبة مشتركة إلى إصدار مختلف من LIBC

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

  •  20-09-2019
  •  | 
  •  

سؤال

لديّ مكتبة مشتركة Linux (. لذا) تم تجميعها بإصدار محدد من LIBC (GLIBC2.4) وأحتاج إلى استخدامها على نظام مع إصدار مختلف من LIBC. ليس لدي مصادر للمكتبة المعنية ، لذا لا يمكنني إعادة ترجمة النظام الجديد. هل من الممكن بطريقة ما تغيير التبعيات في تلك المكتبة إلى LIBC مختلف؟

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

المحلول

إذا كنت بحاجة إلى. لذا على نظام مع GLIBC أقدم ، فستحتاج إلى رمز المصدر وإعادة ترجمة/إعادة ربطه باستخدام GLIBC الأقدم. البديل هو تثبيت GLIBC المطلوبة على النظام القديم في موقع غير Default وضبط LD_LIBRARY_PATH للتنفيذ الذي يحتاج إلى هذا. لذا

إذا كان هناك GLIBC الأحدث بدلاً من ذلك ، فيجب ألا يكون ذلك مشكلة لأن GLIBC تميل إلى أن تكون متوافقة مع الوراء.

نصائح أخرى

ما لم تكن مكتبتك تستخدم واجهات تغيرت حقًا (من غير المحتمل) ، فيمكنك فقط hexedit الإشارات إلى الإصدارات في الناتجة .so ملف. انهم جميعا نص على أي حال.

أفضل ما يمكنك القيام به هو تجميع إصدار GLIBC القديم لنظامك ثم إنشاء تطبيقك باستخدام هذا GLIBC ومكتبتك المشتركة. قبيح رغم ...

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