5.7.1. تركيب جليبك
توصي وثائق Glibc ببناء Glibc في دليل إنشاء مخصص:
mkdir -v بناء قرص مضغوط
mkdir -v بناء قرص مضغوط
بعد ذلك ، قم بإعداد Glibc للتجميع:
../تهيئة \
- البريفكس = / أدوات \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=3.2 \
- with-headers = / tools / include
../تهيئة \
- البريفكس = / أدوات \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=3.2 \
- with-headers = / tools / include
معنى خيارات التكوين:
--host = $ LFS_TGT، --build = $ (../ scripts / config.guess)
يتمثل التأثير المشترك لهذه المفاتيح في أن نظام إنشاء Glibc يقوم بتهيئة نفسه للترجمة المتقاطعة ، باستخدام الرابط المتقاطع والمحول المتقاطع في /أدوات.
- تمكين النواة = 3.2
هذا يخبر Glibc بتجميع المكتبة بدعم 3.2 ونواة Linux اللاحقة. لم يتم تمكين الحلول البديلة لـ kernel الأقدم.
- with-headers = / tools / include
هذا يخبر Glibc أن يجمع نفسه مقابل الرؤوس المثبتة مؤخرًا في دليل الأدوات ، بحيث يعرف بالضبط ميزات النواة ويمكنه تحسين نفسه وفقًا لذلك.
خلال هذه المرحلة ، قد يظهر التحذير التالي:
التكوين: تحذير:
*** هذه البرامج المساعدة مفقودة أو
*** الإصدارات غير المتوافقة: msgfmt
*** سيتم تعطيل بعض الميزات.
*** تحقق من ملف التثبيت للحصول على الإصدارات المطلوبة.
التكوين: تحذير:
*** هذه البرامج المساعدة مفقودة أو
*** الإصدارات غير المتوافقة: msgfmt
*** سيتم تعطيل بعض الميزات.
*** تحقق من ملف التثبيت للحصول على الإصدارات المطلوبة.

المفقود أو غير المتوافق msgfmt البرنامج غير ضار بشكل عام. هذه msgfmt البرنامج جزء من حزمة Gettext التي يجب أن يوفرها التوزيع المضيف.
ملاحظات
كانت هناك تقارير تفيد بأن هذه الحزمة قد تفشل عند البناء كـ "صناعة موازية". في حالة حدوث ذلك ، أعد تشغيل الأمر make باستخدام الخيار "-j1".
ملاحظات
كانت هناك تقارير تفيد بأن هذه الحزمة قد تفشل عند البناء كـ "صناعة موازية". في حالة حدوث ذلك ، أعد تشغيل الأمر make باستخدام الخيار "-j1".
تجميع الحزمة:
جعل
جعل
قم بتثبيت الحزمة:
جعل تثبيت
جعل تثبيت

الحذر
في هذه المرحلة ، من الضروري التوقف والتأكد من أن الوظائف الأساسية (التجميع والربط) لسلسلة الأدوات الجديدة تعمل كما هو متوقع. لإجراء فحص سلامة ، قم بتشغيل الأوامر التالية:
صدى 'int main () {}'> dummy.c
$ LFS_TGT-gcc dummy.c
readelf -l a.out | grep ": / tools"
صدى 'int main () {}'> dummy.c
$ LFS_TGT-gcc dummy.c
readelf -l a.out | grep ": / tools"
إذا كان كل شيء يعمل بشكل صحيح ، فلن تكون هناك أخطاء ، وسيكون إخراج الأمر الأخير بالشكل:
[طلب مترجم البرنامج: /tools/lib64/ld-linux-x86-64.so.2]
[طلب مترجم البرنامج: /tools/lib64/ld-linux-x86-64.so.2]
لاحظ أنه بالنسبة للأجهزة ذات 32 بت ، سيكون اسم المترجم الفوري /tools/lib/ld-linux.so.2.
إذا لم يتم عرض الإخراج على النحو الوارد أعلاه أو لم يكن هناك إخراج على الإطلاق ، فهذا يعني أن هناك خطأ ما. تحقق من الخطوات وتتبعها لمعرفة مكان المشكلة وتصحيحها. يجب حل هذه المشكلة قبل المتابعة.
بمجرد أن يصبح كل شيء على ما يرام ، قم بتنظيف ملفات الاختبار:
rm -v dummy.c a.out
rm -v dummy.c a.out
ملاحظات
سيكون إنشاء Binutils في القسم التالي بمثابة فحص إضافي للتأكد من أن toolchain قد تم إنشاؤه بشكل صحيح. إذا فشل إنشاء Binutils ، فهذا مؤشر على حدوث خطأ ما في تركيبات Binutils أو GCC أو Glibc السابقة.
ملاحظات
سيكون إنشاء Binutils في القسم التالي بمثابة فحص إضافي للتأكد من أن toolchain قد تم إنشاؤه بشكل صحيح. إذا فشل إنشاء Binutils ، فهذا مؤشر على حدوث خطأ ما في تركيبات Binutils أو GCC أو Glibc السابقة.

توثيق