Paket Glibc berisi library-library C utama. Library ini menyediakan rutin dasar untuk alokasi memori, pencarian direktori, membuka dan menutup file, membaca dan menulis file, penanganan string, pencocokan pola, aritmetika dll.
Instalasi (Ingat Selalu : Prinsip Kerja di Tutorial 10)
Perbaiki bug yang menghalangi Glibc dari penggunaan oleh GCC-4.5.2:
patch -Np1 -i ../glibc-2.13-gcc_fix-1.patch
Dokumentasi Glibc menyarankan untuk membuat Glibc diluar direktori sumber, jadi kita buat direktori baru diluar :
mkdir -v ../glibc-build cd ../glibc-build
Karena Glibc tidak lagi mendukung i386, developer menyarankan untuk menggunakan flag compiler -march=i486 saat membangun dengan mesin x86. Ada beberapa hal untuk menangani hal tersebut, tetapi pengujian menunjukkan bahwa flag yang terbaik ditempatkan didalam variabel “CFLAGS” daripada mengabaikan sepenuhnya apa yang digunakan oleh system build internal Glibc untuk CFLAGS, menerapkan flag baru pada konten CFLAGS yang ada dengan menggunakan file khusus configparms. Flag -mtune=native juga diperlukan untuk mereset nilai tertentu bagi -mtune yang berubah ketika menset -march
case `uname -m` in i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;; esac
Selanjutnya siapkan Glibc untuk kompilasi :
../glibc-2.13/configure --prefix=/tools \ --host=$LFS_TGT --build=$(../glibc-2.13/scripts/config.guess) \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.22.5 --with-headers=/tools/include \ libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes
Keterangan :
–host=$LFS_TGT, –build=$(../glibc-2.13/scripts/config.guess)
Efek dari kombinasi diatas adalah sistem build Glibc akan mengkonfigurasi dirinya sendiri untuk melakukan cross-compile, menggunakan cross-linker dan cross-compiler di /tools
–disable-profile
Opsi ini membangun library tanpa melakukan profiling informasi. Jangan gunakan opsi ini jika profiling di perangkat sementara anda butuhkan.
–enable-add-ons
Opsi ini memberitahukan kepada Glibc untuk menggunakan add-on NPTL sebagai library threading-nya.
–enable-kernel=2.6.22.5
Opsi ini memberitahukan kepada Glibc untuk mengkompilasi library dengan dukungan untuk kerenl Linux 2.6.22.5 atau yang lebih baru. Penggunaan kernel yang lebih tua dari itu tidak akan diperkenankan.
–with-headers=/tools/include
Opsi ini memberitahukan kepada Glibc untuk mengkompilasi dirinya sendiri terhadap header yang baru saja diinstall di direktori tools, sehingga ia tahu dengan tepat fitur mana di kernel dan mengoptimalkan dirinya sendiri secara sesuai.
libc_cv_forced_unwind=yes
Linker yang diinstall di bagian sebelumnya Binutils-2.21 – Pass 1” bersifat cross-compile dan karenanya tidak dapat digunakan hingga Glibc diinstall. Ini berarti bahwa test pengkonfigurasian untuk dukungan force-unwind akan gagal, karena ia bergantung pada linker yang berfungsi. Variabel libc_cv_forced_unwind=yes dipasang dalam rangka menginformasikan proses konfigurasi bahwa dukungan force-unwind tersedia tanpa harus melakukan pengujian.
libc_cv_c_cleanup=yes
Sama dengan diatas, kita memasang libc_cv_c_cleanup=yes agar pengkonfigurasian tidak melakukan test sehingga dukungan C cleanup handling dapat dikonfigurasi.
Sepanjang proses diatas, peringatan berikut mungkin muncul :
configure: WARNING: *** These auxiliary programs are missing or *** incompatible versions: msgfmt *** some features will be disabled. *** Check the INSTALL file for required versions.
Tidak adanya atau tidak kompatibelnya program msgfmt umumnya tidak merusak. Program msgfmt adalah bagian dari paket Gettext yang seharusnya disediakan oleh distro yang menjadi host tempat kita bekerja.
Selanjutnya kompilasi paket :
make
Dan install paket :
make install
Bersambung (rezaervani@gmail.com)
Tutorial Sebelumnya :
- Tutorial LFS (13) : Membangun Temporary System – Linux-2.6.3x API Headers
- Tutorial LFS (12) : Membangun Temporary System – GCC-4.5.2 – Tahap 1
- Tutorial LFS (11) : Membangun Temporary System – Binutils-2.21 – Tahap 1
- Tutorial LFS (10) : Membangun Temporary System – Prinsip Kerja
- Tutorial LFS (9) : Tahap Persiapan Linux From Scratch – Mengatur Lingkungan Pengguna lfs (membuat file .bashrc)
- Tutorial LFS (8) : Tahap Persiapan Linux From Scratch – Mengatur Lingkungan Pengguna lfs (membuat file .bash_profile)
- Tutorial LFS (7) : Tahap Persiapan Linux From Scratch – Membuat Pengguna dan Group Baru
- Tutorial LFS (6) : Tahap Persiapan Linux From Scratch – Membuat Direktori $LFS/tools
- Tutorial LFS (5) : Tahap Persiapan Linux From Scratch – Mengunduh Beberapa Patch yang Diperlukan
- Tutorial LFS (4) : Tahap Persiapan Linux From Scratch – Mengunduh Paket-paket yang Diperlukan
- Tutorial LFS (3) : Tahap Persiapan Linux From Scratch – Prosedur
- Tutorial LFS (2) : Tahap Persiapan Linux From Scratch – Tentang Lingkungan Kerja
- Tutorial LFS (1) : Tahap Persiapan Linux From Scratch – Menyiapkan Partisi
Leave a Reply