سؤال

أحاول تجميع برنامج يستخدم مكتبة المهرجان.

بشكل أساسي ، المتطلبات هي أن تقوم بتضمين دلائل رأس المهرجان و في مسار التضمين ، وأن تقوم بتضمين مسارات مكتبتهما.

في التثبيت العادي ، يظلون ببساطة في مجلداتهم الخاصة ، لذلك يكون لديك Genacodicetagpre

كمسار البحث المطلوب ، و Genacodicetagpre

كمسار مكتبة.

أعتقد أن الطريقة الصحيحة للتعامل مع ذلك هي باستخدام خيار تكوين "- مع-مع-مهرجان".

ومع ذلك ، هناك إعداد مختلف عند تثبيته على نظام debian / ubuntu. أود أن أكون قادرًا على التعامل مع هذا الإعداد ، حيث توجد مسارات البحث Genacodicetagpre

ومسار البحث هو فقط Genacodicetagpre

أرغب في اكتشاف الحالة الثانية ، والتعامل معها تلقائيًا ، مع استمرار مطالبة المستخدم بتحديد أول دليلين إذا لم يتم استيفاء الحالة الثانية.كيف أفعل هذا؟

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

المحلول

هل هناك شيء من شأنه أن يحول دون تعيين خيارات مثل ذلك؟

  1. --مهرجان- يتضمن قيمة افتراضية (إذا لم يتم تحديدها) إلى / usr / include / Festival

  2. --مهرجان-ليبس بقيمة افتراضية (إذا لم يتم تحديدها) إلى /usr/lib/libfestival.XXX

الشيء نفسه ينطبق على estools.

نصائح أخرى

ليست هناك حاجة إلى أن يقلق مشرف الحزمة بشأن هذه التفاصيل على الإطلاق ؛إنها مسؤولية المستخدم.إذا قام المستخدم بتثبيت مكتبة في موقع غير قياسي ، فسيحتاج المستخدم إلى إضافة LDFLAGS= -L / path / to / lib إلى ملف CONFIG_SITE أو إلى كل استدعاء للتهيئة أو وضع هذا المسار في مسار بحث المترجم من خلالبعض الآليات المعتمدة على النظام.وبالمثل ، يجب على المستخدم إلحاق -I / path / to / include بـ CPPFLAGS.

بمعنى آخر ، تقوم دبيان بالشيء الصحيح بمجرد تثبيت المكتبات والعناوين في الموقع القياسي.أي شخص يختار تثبيت المكتبات في مكان غير قياسي يعطي نفسه المزيد من العمل.ليس من مسؤوليتك إصلاح أخطائهم.

لا تفيد إضافة خيارات مثل - مع - مهرجان أو - مع - برؤوس مهرجان ؛يمكن للمستخدم تعيين LDFLAGS و CPPFLAGS بسهولة ، ويتم توحيد هذه المتغيرات.

اعتمدت بعض الأنظمة الأساسية معيار تسلسل نظام الملفات - http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard.

يجب أن ينعكس هذا حقًا في autoconf ، بدلاً من الإصرار على أنه يجب على المستخدم التعامل معه عن طريق تعيين CFLAGS ، لأن / opt / openssl / lib لم يعد موقعًا "غير قياسي".

تحدد FHS أيضًا أن / usr / local هو "تسلسل هرمي ثالثي للبيانات المحلية الخاصة بهذا المضيف."لذلك يمكن القول ، يجب التحقق من / opt أولاً.

المزيد عن FHS / opt -> http://www.pathname.com / fhs / pub / fhs-2.3.html # OPTADDONAPPLICATIONSOFTWAREPACKages

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