== JinLiveCD/LinuxFS == * Linux From Scratch * sda11 ´Â linux from scratch ·Î »ç¿ë (10 G) {{{ Download or otherwise obtain the following packages: Binutils (2.16.1) - 12,272 KB: http://ftp.gnu.org/gnu/binutils/ GCC (4.0.2) - 31,048 KB: http://ftp.gnu.org/gnu/gcc/ Linux-Libc-Headers (2.6.12.0) - 2,480 KB: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ Glibc (2.3.6) - 13,687 KB: http://ftp.gnu.org/gnu/glibc/ adjusting the toolchain Tcl (8.4.12) - 2,672 KB: http://prdownloads.sourceforge.net/tcl/ Expect (5.43.0) - 416 KB: http://expect.nist.gov/src/ DejaGNU (1.4.4) - 852 KB: http://ftp.gnu.org/gnu/dejagnu/ GCC (4.0.2) - 31,048 KB: http://ftp.gnu.org/gnu/gcc/ Binutils (2.16.1) - 12,272 KB: http://ftp.gnu.org/gnu/binutils/ Gawk (3.1.5) - 1,696 KB: http://ftp.gnu.org/gnu/gawk/ Coreutils (5.93) - 4,782 KB: http://ftp.gnu.org/gnu/coreutils/ Bzip2 (1.0.3) - 596 KB: http://www.bzip.org/ Gzip (1.3.5) - 284 KB: ftp://alpha.gnu.org/gnu/gzip/ Diffutils (2.8.1) - 648 KB: http://ftp.gnu.org/gnu/diffutils/ Findutils (4.2.27) - 887 KB: http://ftp.gnu.org/gnu/findutils/ Make (3.80) - 904 KB: http://ftp.gnu.org/gnu/make/ Grep (2.5.1a) - 520 KB: http://ftp.gnu.org/gnu/grep/ Sed (4.1.4) - 632 KB: http://ftp.gnu.org/gnu/sed/ Gettext (0.14.5) - 4,668 KB: http://ftp.gnu.org/gnu/gettext/ Ncurses (5.5) - 1,683 KB: ftp://invisible-island.net/ncurses/ Patch (2.5.4) - 156 KB: http://ftp.gnu.org/gnu/patch/ Tar (1.15.1) - 1,580 KB: http://ftp.gnu.org/gnu/tar/ Texinfo (4.8) - 1,492 KB: http://ftp.gnu.org/gnu/texinfo/ Bash (3.1) - 1,824 KB: http://ftp.gnu.org/gnu/bash/ M4 (1.4.4) - 300 KB: http://ftp.gnu.org/gnu/m4/ Util-linux (2.12r) - 1,344 KB: http://www.kernel.org/pub/linux/utils/util-linux/ Perl (5.8.7) - 9,628 KB: http://ftp.funet.fi/pub/CPAN/src/ Autoconf (2.59) - 908 kilobytes (KB): http://ftp.gnu.org/gnu/autoconf/ Automake (1.9.6) - 748 KB: http://ftp.gnu.org/gnu/automake/ Bash Documentation (3.1) - 1,994 KB: http://ftp.gnu.org/gnu/bash/ Bison (2.1) - 982 KB: http://ftp.gnu.org/gnu/bison/ E2fsprogs (1.38) - 3,120 KB: http://prdownloads.sourceforge.net/e2fsprogs/ File (4.16) - 399 KB: ftp://ftp.gw.com/mirrors/pub/unix/file/ Flex (2.5.31) - 672 KB: http://prdownloads.sourceforge.net/lex/ Groff (1.19.2) - 2,096 KB: http://ftp.gnu.org/gnu/groff/ GRUB (0.97) - 772 KB: ftp://alpha.gnu.org/gnu/grub/ Hotplug (2004_09_23) - 40 KB: http://www.kernel.org/pub/linux/utils/kernel/hotplug/ Iana-Etc (2.00) - 174 KB: http://www.sethwklein.net/projects/iana-etc/downloads/ Inetutils (1.4.2) - 752 KB: http://ftp.gnu.org/gnu/inetutils/ IPRoute2 (051007) - 291 KB: http://developer.osdl.org/dev/iproute2/download/ Kbd (1.12) - 624 KB: http://www.kernel.org/pub/linux/utils/kbd/ Less (394) - 216 KB: http://www.greenwoodsoftware.com/less/ LFS-Bootscripts (3.2.1) - 32 KB: http://downloads.linuxfromscratch.org/ Libtool (1.5.20) - 1,642 KB: http://ftp.gnu.org/gnu/libtool/ Linux (2.6.12.5) - 36,522 KB: http://www.kernel.org/pub/linux/kernel/v2.6/ Man (1.6b) - 205 KB: http://primates.ximian.com/~flucifredi/man/ Man-pages (2.17) - 1,688 KB: http://www.kernel.org/pub/linux/docs/manpages/ Mktemp (1.5) - 68 KB: ftp://ftp.mktemp.org/pub/mktemp/ Module-Init-Tools (3.2.2) - 165 KB: http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/ Procps (3.2.6) - 221 KB: http://procps.sourceforge.net/ Psmisc (21.9) - 193 KB: http://prdownloads.sourceforge.net/psmisc/ Readline (5.1) - 1,456 KB: http://ftp.gnu.org/gnu/readline/ Shadow (4.0.13) - 1,057 KB: ftp://ftp.pld.org.pl/software/shadow/ Sysklogd (1.4.1) - 72 KB: http://www.infodrom.org/projects/sysklogd/download/ Sysvinit (2.86) - 88 KB: ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/ Udev (071) - 427 KB: http://www.kernel.org/pub/linux/utils/kernel/hotplug/ Udev Rules Configuration - 5 KB: http://downloads.linuxfromscratch.org/udev-config-5.rules Vim (6.4) - 3,650 KB: ftp://ftp.vim.org/pub/vim/unix/ Vim (6.4) language files (optional) - 540 KB: ftp://ftp.vim.org/pub/vim/extra/ Zlib (1.2.3) - 415 KB: http://www.zlib.net/ Total size of these packages: 148 MB }}} {{{ cat > ~/.bashrc << "EOF" set +h umask 022 LFS=/mnt/lfs LC_ALL=POSIX PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL PATH EOF }}} * binutils * gcc * glibc === binutils pass1 === {{{ [root@localhost tools]# ls -R .: bin i686-pc-linux-gnu include info lib man ./bin: addr2line as gprof nm objdump readelf strings ar c++filt ld objcopy ranlib size strip ./i686-pc-linux-gnu: bin lib ./i686-pc-linux-gnu/bin: ar as ld nm objdump ranlib strip ./i686-pc-linux-gnu/lib: ldscripts ./i686-pc-linux-gnu/lib/ldscripts: elf_i386.x elf_i386.xdc elf_i386.xs elf_i386.xw i386linux.xr elf_i386.xbn elf_i386.xdw elf_i386.xsc i386linux.x i386linux.xu elf_i386.xc elf_i386.xn elf_i386.xsw i386linux.xbn elf_i386.xd elf_i386.xr elf_i386.xu i386linux.xn ./include: ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h ./info: as.info as.info-2 bfd.info bfd.info-2 configure.info ld.info as.info-1 as.info-3 bfd.info-1 binutils.info gprof.info standards.info ./lib: libbfd.a libbfd.la libiberty.a libopcodes.a libopcodes.la ./man: man1 ./man/man1: addr2line.1 c++filt.1 ld.1 objcopy.1 readelf.1 strip.1 ar.1 dlltool.1 nlmconv.1 objdump.1 size.1 windres.1 as.1 gprof.1 nm.1 ranlib.1 strings.1 }}} === gcc pass1 === * mkdir -v ../gcc-build * cd ../gcc-build * {{{ ../gcc-4.0.2/configure --prefix=/tools \ --with-local-prefix=/tools --disable-nls --enable-shared \ --enable-languages=c }}} * PATH ¿¡ ÀÇÇØ binutils ¿¡¼­ ¼³Ä¡ÇÑ as, ld À» »ç¿ë * --with-local-prefix ¿¡ ÀÇÇØ binutils ¿¡¼­ ¼³Ä¡ÇÑ include ÆÄÀÏ »ç¿ë {{{ [root@localhost tools]# ls -R .: bin i686-pc-linux-gnu include info lib libexec man share ./bin: addr2line cc gcov ld ranlib strip ar cpp gprof nm readelf as gcc i686-pc-linux-gnu-gcc objcopy size c++filt gccbug i686-pc-linux-gnu-gcc-4.0.2 objdump strings ./i686-pc-linux-gnu: bin lib ./i686-pc-linux-gnu/bin: ar as ld nm objdump ranlib strip ./i686-pc-linux-gnu/lib: ldscripts ./i686-pc-linux-gnu/lib/ldscripts: elf_i386.x elf_i386.xdc elf_i386.xs elf_i386.xw i386linux.xr elf_i386.xbn elf_i386.xdw elf_i386.xsc i386linux.x i386linux.xu elf_i386.xc elf_i386.xn elf_i386.xsw i386linux.xbn elf_i386.xd elf_i386.xr elf_i386.xu i386linux.xn ./include: ansidecl.h bfd.h bfdlink.h dis-asm.h mf-runtime.h symcat.h ./info: as.info bfd.info configure.info gccinstall.info standards.info as.info-1 bfd.info-1 cpp.info gccint.info as.info-2 bfd.info-2 cppinternals.info gprof.info as.info-3 binutils.info gcc.info ld.info ./lib: gcc libiberty.a libmudflap.so.0.0.0 libmudflapth.so.0.0.0 libbfd.a libmudflap.a libmudflapth.a libopcodes.a libbfd.la libmudflap.la libmudflapth.la libopcodes.la libgcc_s.so libmudflap.so libmudflapth.so libgcc_s.so.1 libmudflap.so.0 libmudflapth.so.0 ./lib/gcc: i686-pc-linux-gnu ./lib/gcc/i686-pc-linux-gnu: 4.0.2 ./lib/gcc/i686-pc-linux-gnu/4.0.2: crtbegin.o crtbeginT.o crtendS.o install-tools libgcc_eh.a crtbeginS.o crtend.o include libgcc.a libgcov.a ./lib/gcc/i686-pc-linux-gnu/4.0.2/include: README iso646.h mm_malloc.h root syslimits.h X11 libdevmapper.h mmintrin.h slang unwind.h asm limits.h mozilla-1.7.8 stdarg.h varargs.h emmintrin.h linux openssl stdbool.h xmmintrin.h float.h mm3dnow.h pmmintrin.h stddef.h zutil.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/asm: posix_types.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/linux: a.out.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8: nspr nss ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8/nspr: md ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8/nspr/md: _darwin.h _rhapsody.h _solaris.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8/nss: jzconf.h secport.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/openssl: bn.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root: usr ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr: X11R6 ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr/X11R6: include ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr/X11R6/include: X11 ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr/X11R6/include/X11: Xos.h Xos_r.h Xosdefs.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/slang: slang.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/install-tools: gsyslimits.h include macro_list mkheaders.conf ./lib/gcc/i686-pc-linux-gnu/4.0.2/install-tools/include: README iso646.h mm_malloc.h stdarg.h unwind.h emmintrin.h limits.h mmintrin.h stdbool.h varargs.h float.h mm3dnow.h pmmintrin.h stddef.h xmmintrin.h ./libexec: gcc ./libexec/gcc: i686-pc-linux-gnu ./libexec/gcc/i686-pc-linux-gnu: 4.0.2 ./libexec/gcc/i686-pc-linux-gnu/4.0.2: cc1 collect2 install-tools ./libexec/gcc/i686-pc-linux-gnu/4.0.2/install-tools: fixinc.sh fixincl mkheaders ./man: man1 man7 ./man/man1: addr2line.1 c++filt.1 gcc.1 ld.1 objcopy.1 readelf.1 strip.1 ar.1 cpp.1 gcov.1 nlmconv.1 objdump.1 size.1 windres.1 as.1 dlltool.1 gprof.1 nm.1 ranlib.1 strings.1 ./man/man7: fsf-funding.7 gfdl.7 gpl.7 ./share: }}} * linux-libc-headers 5 Àå * glibc 5 Àå {{{ ../glibc-2.3.6/configure --prefix=/tools \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.0 --with-binutils=/tools/bin \ --without-gd --with-headers=/tools/include \ --without-selinux }}} {{{ [root@localhost tools]# cd bin [root@localhost bin]# ls addr2line gccbug iconv objcopy strings ar gcov ld objdump strip as gencat ldd pcprofiledump tzselect c++filt getconf lddlibc4 ranlib xtrace catchsegv getent locale readelf cc gprof localedef rpcgen cpp i686-pc-linux-gnu-gcc mtrace size gcc i686-pc-linux-gnu-gcc-4.0.2 nm sprof [root@localhost etc]# ls ld.so.cache ld.so.conf localtime rpc [root@localhost lib]# ls Mcrt1.o libdl.so.2 libnss_files.so.2 Scrt1.o libg.a libnss_hesiod-2.3.6.so crt1.o libgcc_s.so libnss_hesiod.so crti.o libgcc_s.so.1 libnss_hesiod.so.2 crtn.o libiberty.a libnss_nis-2.3.6.so gcc libieee.a libnss_nis.so gconv libm-2.3.6.so libnss_nis.so.2 gcrt1.o libm.a libnss_nisplus-2.3.6.so ld-2.3.6.so libm.so libnss_nisplus.so ld-linux.so.2 libm.so.6 libnss_nisplus.so.2 libBrokenLocale-2.3.6.so libmcheck.a libopcodes.a libBrokenLocale.a libmemusage.so libopcodes.la libBrokenLocale.so libmudflap.a libpcprofile.so libBrokenLocale.so.1 libmudflap.la libpthread-2.3.6.so libSegFault.so libmudflap.so libpthread.a libanl-2.3.6.so libmudflap.so.0 libpthread.so libanl.a libmudflap.so.0.0.0 libpthread.so.0 libanl.so libmudflapth.a libpthread_nonshared.a libanl.so.1 libmudflapth.la libresolv-2.3.6.so libbfd.a libmudflapth.so libresolv.a libbfd.la libmudflapth.so.0 libresolv.so libbsd-compat.a libmudflapth.so.0.0.0 libresolv.so.2 libc-2.3.6.so libnsl-2.3.6.so librpcsvc.a libc.a libnsl.a librt-2.3.6.so libc.so libnsl.so librt.a libc.so.6 libnsl.so.1 librt.so libc_nonshared.a libnss_compat-2.3.6.so librt.so.1 libcrypt-2.3.6.so libnss_compat.so libthread_db-1.0.so libcrypt.a libnss_compat.so.2 libthread_db.so libcrypt.so libnss_dns-2.3.6.so libthread_db.so.1 libcrypt.so.1 libnss_dns.so libutil-2.3.6.so libdl-2.3.6.so libnss_dns.so.2 libutil.a libdl.a libnss_files-2.3.6.so libutil.so libdl.so libnss_files.so libutil.so.1 [root@localhost libexec]# ls -R .: gcc getconf pt_chown ./gcc: i686-pc-linux-gnu ./gcc/i686-pc-linux-gnu: 4.0.2 ./gcc/i686-pc-linux-gnu/4.0.2: cc1 collect2 install-tools ./gcc/i686-pc-linux-gnu/4.0.2/install-tools: fixinc.sh fixincl mkheaders ./getconf: POSIX_V6_ILP32_OFF32 POSIX_V6_ILP32_OFFBIG [root@localhost sbin]# ls iconvconfig ldconfig nscd nscd_nischeck rpcinfo sln zdump zic [root@localhost share]# ls i18n locale zoneinfo }}} * make -C ld clean * make -C ld LIB_PATH=/tools/lib * make -C ld install * ÀÌÈÄ¿¡´Â ¸ðµç ÆÐÅ°Áö°¡ /tools/lib ¹ØÀÇ °ÍÀ» ¸µÅ©ÇÔ. * glibc ¿¡ ÀÇÇØ »ý¼ºµÈ /tools/lib/ld-linux.so.2 ¸¦ dynamic linker ·Î »ç¿ëÇϱâ À§ÇØ gcc ÀÇ specfile º¯°æÇÔ. {{{ SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs && gcc -dumpspecs > $SPECFILE && sed 's@^/lib/ld-linux.so.2@/tools&@g' $SPECFILE > tempspecfile && mv -vf tempspecfile $SPECFILE && unset SPECFILE }}} {{{ lfs:/mnt/lfs/sources/gcc-build$ ../gcc-4.0.2/contrib/test_summary > kk lfs:/mnt/lfs/sources/gcc-build$ vi kk lfs:/mnt/lfs/sources/gcc-build$ cat kk cat <<'EOF' | LAST_UPDATED: Obtained from CVS: -rgcc_4_0_2_release Native configuration is i686-pc-linux-gnu === g++ tests === Running target unix FAIL: g++.dg/template/array14.C (test for excess errors) XPASS: g++.old-deja/g++.other/init5.C execution test === g++ Summary === # of expected passes 11130 # of unexpected failures 1 # of unexpected successes 1 # of expected failures 68 # of unsupported tests 56 /mnt/lfs/sources/gcc-build/gcc/testsuite/../g++ version 4.0.2 === gcc tests === Running target unix XPASS: gcc.dg/vect/vect-22.c scan-tree-dump-times vectorized 3 loops 1 === gcc Summary === # of expected passes 35255 # of unexpected successes 1 # of expected failures 94 # of untested testcases 28 # of unsupported tests 328 /mnt/lfs/sources/gcc-build/gcc/xgcc version 4.0.2 === libmudflap tests === Running target unix FAIL: libmudflap.cth/pass40-frag.c execution test FAIL: libmudflap.cth/pass40-frag.c output pattern test FAIL: libmudflap.cth/pass40-frag.c (-O2) execution test FAIL: libmudflap.cth/pass40-frag.c (-O2) output pattern test FAIL: libmudflap.cth/pass40-frag.c (-O3) execution test FAIL: libmudflap.cth/pass40-frag.c (-O3) output pattern test === libmudflap Summary === # of expected passes 1282 # of unexpected failures 6 === libstdc++ tests === Running target unix XPASS: 22_locale/locale/cons/12658_thread-1.cc execution test === libstdc++ Summary === # of expected passes 3668 # of unexpected successes 1 # of expected failures 13 Compiler version: 4.0.2 Platform: i686-pc-linux-gnu configure flags: --prefix=/tools --with-local-prefix=/tools --enable-clocale=gnu --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-libstdcxx-pch --enable-languages=c,c++ EOF Mail -s "Results for 4.0.2 testsuite on i686-pc-linux-gnu" gcc-testresults@gcc.gnu.org && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.sum /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.sum.sent && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.sum /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.sum.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.sum /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.sum.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum.sent && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.log /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.log.sent && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.log /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.log.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.log /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.log.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log.sent && true }}} * 6Àå gcc * /sources/gcc-build/gcc/Makefile * insert -I/usr/include {{{ # Options to use when compiling crtbegin/end. CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) -I/usr/include $(MULTILIB_CFLAGS) -g0 \ -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss -fno-unit-at-a-time # The GCC to use for compiling libgcc.a and crt*.o. # Usually the one we just built. # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS). GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -I/usr/include -L$(objdir)/../ld }}} * patch ¾È µÈ °ÍÀ» »ç¿ëÇØ¾ß ÇÔ. === in company === * 6.11 glibc * multibyte study {{{ root:/sources/glibc-build# grep Error glibc-check-log make[2]: [/sources/glibc-build/posix/annexc.out] Error 1 (ignored) make[2]: *** [/sources/glibc-build/nptl/tst-attr3.out] Error 1 make[2]: *** [/sources/glibc-build/nptl/tst-clock2.out] Error 1 make[1]: *** [nptl/tests] Error 2 make: *** [check] Error 2 }}} * coreutils * make NON_ROOT_USERNAME=dummy RUN_EXPENSIVE_TESTS=yes check * gettext tar * inetutil think about PAM * perl tar * tar already patch gcc related * util-linux tar === setup for toolchain === * export LFS=/mnt/lfs * mkdir -pv $LFS * mount -v /dev/[xxx] $LFS * mkdir -v $LFS/sources * chmod -v a+wt $LFS/sources * mkdir -v $LFS/tools * ln -sv $LFS/tools / * groupadd lfs * useradd -s /bin/bash -g lfs -m -k /dev/null lfs * passwd lfs * chown -v lfs $LFS/tools * chown -v lfs $LFS/sources * su - lfs {{{ cat > ~/.bash_profile << "EOF" exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash EOF }}} {{{ cat > ~/.bashrc << "EOF" set +h umask 022 LFS=/mnt/lfs LC_ALL=POSIX PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL PATH EOF }}} * source ~/.bash_profile === make toolchain === * Binutils-2.16.1 - Pass 1 * mkdir -v ../binutils-build * cd ../binutils-build * ../binutils-2.16.1/configure --prefix=/tools --disable-nls * make * make install * make -C ld clean * make -C ld LIB_PATH=/tools/lib * GCC-4.0.2 - Pass 1 * mkdir -v ../gcc-build * cd ../gcc-build {{{ ../gcc-4.0.2/configure --prefix=/tools \ --with-local-prefix=/tools --disable-nls --enable-shared \ --enable-languages=c }}} * make bootstrap * PATH ¿¡ ÀÇÇØ binutils ¿¡¼­ ¼³Ä¡ÇÑ as, ld À» »ç¿ë * --with-local-prefix ¿¡ ÀÇÇØ binutils ¿¡¼­ ¼³Ä¡ÇÑ include ÆÄÀÏ »ç¿ë * make install * ln -vs gcc /tools/bin/cc * Linux-Libc-Headers-2.6.12.0 * cp -Rv include/asm-i386 /tools/include/asm * cp -Rv include/linux /tools/include * Glibc-2.3.6 * mkdir -v ../glibc-build * cd ../glibc-build {{{ ../glibc-2.3.6/configure --prefix=/tools \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.0 --with-binutils=/tools/bin \ --without-gd --with-headers=/tools/include \ --without-selinux }}} * make * make check or make -k check > glibc-check-log 2>&1 * mkdir -v /tools/etc * touch /tools/etc/ld.so.conf * make install * make localedata/install-locales or {{{ mkdir -pv /tools/lib/locale localedef -i de_DE -f ISO-8859-1 de_DE localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro localedef -i en_HK -f ISO-8859-1 en_HK localedef -i en_PH -f ISO-8859-1 en_PH localedef -i en_US -f ISO-8859-1 en_US localedef -i es_MX -f ISO-8859-1 es_MX localedef -i fa_IR -f UTF-8 fa_IR localedef -i fr_FR -f ISO-8859-1 fr_FR localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro localedef -i it_IT -f ISO-8859-1 it_IT localedef -i ja_JP -f EUC-JP ja_JP }}} * Adjusting the Toolchain * cd binutils-build * make -C ld install * ¾Õ¿¡¼­ make -C ld clean, make -C ld LIB_PATH=/tools/lib À» ¼öÇàÇÏ¿´À¸¹Ç·Î, * ÀÌÈÄ¿¡´Â ¸ðµç ÆÐÅ°Áö°¡ /tools/lib ¹ØÀÇ °ÍÀ» ¸µÅ©ÇÔ. {{{ SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs && gcc -dumpspecs > $SPECFILE && sed 's@^/lib/ld-linux.so.2@/tools&@g' $SPECFILE > tempspecfile && mv -vf tempspecfile $SPECFILE && unset SPECFILE }}} * glibc ¿¡ ÀÇÇØ »ý¼ºµÈ /tools/lib/ld-linux.so.2 ¸¦ dynamic linker ·Î »ç¿ëÇϱâ À§ÇØ gcc ÀÇ specfile º¯°æÇÔ. {{{ GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include && find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; && rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` && unset GCC_INCLUDEDIR }}} * fixinclude ¿¡ ÀÇÇØ »ý¼ºµÈ include ÆÄÀÏÀ» Á¦°ÅÇÏ¿©, ¾ÕÀ¸·Î´Â gcc ¿Í glibc ¸¦ À§ÇÑ header file ¸¸ »ç¿ëÇÔ. * Tcl-8.4.12 {{{ cd unix cp -v configure{,.orig} sed "s/relid'/relid/" configure.orig > configure }}} * ./configure --prefix=/tools * make * make install * make install-private-headers * ln -sv tclsh8.4 /tools/bin/tclsh * Expect-5.43.0 * patch -Np1 -i ../expect-5.43.0-spawn-1.patch {{{ ./configure --prefix=/tools --with-tcl=/tools/lib \ --with-tclinclude=/tools/include --with-x=no }}} * make * make SCRIPTS="" install * DejaGNU-1.4.4 * ./configure --prefix=/tools * make install * GCC-4.0.2 - Pass 2 * »õ·Î »ý¼ºÇÑ glibc ¸¦ ÀÌ¿ëÇÏ¿© gcc »õ·Î ¸¸µë. * expect -c "spawn ls" {{{ cp -v gcc/Makefile.in{,.orig} && sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in }}} * »õ·Î »ý¼ºµÈ gcc ¿Í glibc ÀÇ header file À» »ç¿ëÇϹǷÎ, fixinclude °¡ ÇÊ¿ä¾øÀ½. {{{ cp -v gcc/Makefile.in{,.tmp} && sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \ > gcc/Makefile.in }}} * bootstrap °¡ ¾Æ´Ñ °æ¿ì¿¡´Â -formit-frame-point °¡ ¾ø´Â °ÍÀÌ default ÀÓ. * patch -Np1 -i ../gcc-4.0.2-specs-1.patch * default dynamic linker À§Ä¡ º¯°æ(¾Õ¿¡¼­ Çߴµ¥...) * /usr/include ¸¦ default include path ¿¡¼­ Á¦¿Ü. * mkdir -v ../gcc-build * cd ../gcc-build {{{ ../gcc-4.0.2/configure --prefix=/tools \ --with-local-prefix=/tools --enable-clocale=gnu \ --enable-shared --enable-threads=posix \ --enable-__cxa_atexit --enable-languages=c,c++ \ --disable-libstdcxx-pch }}} {{{ pass 1 ../gcc-4.0.2/configure --prefix=/tools \ --with-local-prefix=/tools --disable-nls --enable-shared \ --enable-languages=c }}} * c++ À» À§ÇÑ option À» Ãß°¡ÇÑ °ÍÀÓ. * make * make -k check * ../gcc-4.0.2/contrib/test_summary * make install * binutils-2.16.1 pass 2 * mkdir -v ../binutils-build * cd ../binutils-build {{{ ../binutils-2.16.1/configure --prefix=/tools \ --disable-nls --enable-shared --with-lib-path=/tools/lib }}} * --with-lib-path=/tools/lib ¿¡ ÀÇÇØ /tools/lib ¹ØÀÇ ¶óÀ̺귯¸®¸¦ ¸µÅ©ÇÔ. * make * make check * make install * make -C ld clean * make -C ld LIB_PATH=/usr/lib:/lib * Gawk-3.1.5 * Coreutils-5.93 * Bzip2-1.0.3 * Gzip-1.3.5 * Diffutils-2.8.1 * Findutils-4.2.27 * Make-3.80 * Grep-2.5.1a * Sed-4.1.4 * Gettext-0.14.5 * Ncurses-5.5 * Patch-2.5.4 * Tar-1.15.1 * Texinfo-4.8 * Bash-3.1 * M4-1.4.4 * Util-linux-2.12r * Perl-5.8.7 * Stripping === Building LFS base system === * mounting virtual kernel file systems * mkdir -pv $LFS/{proc,sys} * mount -vt proc proc $LFS/proc * mount -vt sysfs sysfs $LFS/sys * mount -vft tmpfs tmpfs $LFS/dev * mount -vft tmpfs tmpfs $LFS/dev/shm * mount -vft devpts -o gid=4,mode=620 devpts $LFS/dev/pts * entering the chroot environment {{{ chroot "$LFS" /tools/bin/env -i \ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ /tools/bin/bash --login +h }}} * chamginig ownweship * chown -R 0:0 /tools * creating directories * creating essential symlinks * ln -sv /tools/bin/{bash,cat,pwd,stty} /bin * ln -sv /tools/bin/perl /usr/bin * ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib * ln -sv bash /bin/sh * creating the passwd, group, and log files * populating /dev * linux-libc-headers-2.6.12.0 * install -d /usr/include/asm * cp -Rv include/asm-i386/* /usr/include/asm * cp -Rv include/linux /usr/include * chown -Rv root:root /usr/include/{asm,linux} * find /usr/include/{asm,linux} -type d -exec chmod -v 755 {} \; * find /usr/include/{asm,linux} -type f -exec chmod -v 644 {} \; * man-pages-2.18 * glibc-2.3.6 === diff lfs and fedora === * /etc/sysconfig/clock * lfs {{{ # Begin /etc/sysconfig/clock UTC=1 # End /etc/sysconfig/clock }}} * fedora {{{ ZONE="Asia/Seoul" UTC=false ARC=false }}} * /etc/sysconfig/console * lfs: file * fedora: directory * /etc/kbd * lfs: directory * fedora: ¾øÀ½ * /etc/sysconfig/network-devices * lfs: directory * fedora: networking °ú ºñ½ÁÀº Çѵ¥... * /etc/profile * used by login shell * /etc/profile.d * dircolor.sh, extrapaths.sh,readline.sh, tink-term.sh, umask.sh, X.sh, extra-prompt.sh, i18n.sh * fedora ¿¡´Â ¾øÀ½. * /etc/bashrc * non-login shell ÀÌ »ç¿ëÇÔ. * random * fedora ´Â ´Ù¸¥ ¹æ¹ý »ç¿ë * /usr/sbin/compressdoc, /etc/man.conf * fedora ¿¡´Â ¾øÀ½ * /etc/pam.conf * fedora ¿¡´Â ¾øÀ½ * /etc/pam.d/chage * fedora ¾øÀ½ * /etc/rc.d/rc.iptables * fedora ´Â ¾øÀ½ * do more after direct login == blfs == * popt 1.7 version Á¡°Ë ÇÊ¿ä * fedora popt-1.10.1-21 == gnome install == === GNOME Core Packages === {{{ 1. ORBit2-2.12.4 The ORBit2 package contains a high-performance CORBA Object Request Broker. This allows programs to send requests and receive replies from other programs. Required libIDL-0.8.6 and popt-1.7-5 Optional GTK-Doc-1.4 and OpenSSL-0.9.7i 2. libbonobo-2.10.1 The libbonobo package contains libbonobo libraries. This is a component and compound document system for GNOME-2. Required ORBit2-2.12.4, libxml2-2.6.22 and XML::Parser Optional X (XFree86-4.5.0 or X.org-6.8.2) and GTK-Doc-1.4 3. GConf-2.12.0 The GConf package contains a configuration database system. Required ORBit2-2.12.4 and libxml2-2.6.22 Optional GTK+-2.8.9, OpenLDAP-2.3.11, GTK-Doc-1.4 and DocBook-utils-0.6.14 * desktop-file-utils-0.10 The desktop-file-utils package contains command line utilities for working with desktop entries. These utilities are used by GNOME-2 and other applications to manipulate the MIME-types application databases and help adhere to the desktop entries standards specification. Required GLib-2.8.4 and popt-1.7-5 Optional Emacs-21.4a 4. GNOME MIME Data-2.4.2 The GNOME MIME Data package contains the base set of file types and applications for GNOME-2. Required XML::Parser 5. GNOME Virtual File System-2.12.1 The GNOME Virtual File System package contains virtual file system libraries. This is used as one of the foundations of the Nautilus file manager. Required intltool-0.34.1, GConf-2.12.0, libbonobo-2.10.1, GNOME MIME Data-2.4.2 and shared-mime-info-0.16 Optional Samba-3.0.20b, CDParanoia-III-9.8, Gamin-0.1.7, HAL-0.5.4, GTK-Doc-1.4, OpenSSH-4.2p1, OpenSSL-0.9.7i or GnuTLS, Heimdal-0.7.1 or MIT krb5-1.4.1, OpenAFS and Howl 6. libgnome-2.12.0.1 The libgnome package contains the libgnome library. Required GNOME Virtual File System-2.12.1 and EsounD-0.2.36 Optional GTK-Doc-1.4 7. libgnomecanvas-2.12.0 The libgnomecanvas package contains the GNOME canvas library. It is an engine for structured graphics and one of the essential GNOME libraries. Required libglade-2.5.1 and libart_lgpl-2.3.17 Optional GTK-Doc-1.4 8. libbonoboui-2.10.1 The libbonoboui package contains libbonoboui libraries. Required libgnome-2.12.0.1 and libgnomecanvas-2.12.0 Optional GTK-Doc-1.4 9. GNOME Icon Theme-2.12.1 The GNOME Icon Theme package contains an assortment of scalable and non-scalable icons of different sizes and themes. Required hicolor-icon-theme-0.8 and XML::Parser Optional pkg-config-0.20 10. gnome-keyring-0.4.5 The gnome-keyring package contains a daemon that keeps passwords and other secrets for users. Required GTK+-2.8.9 11. libgnomeui-2.12.0 The libgnomeui package contains libgnomeui libraries. Required libbonoboui-2.10.1 and gnome-keyring-0.4.5 Optional libjpeg-6b and GTK-Doc-1.4 12. GTK Engines-2.6.5 The GTK Engines package contains eight themes/engines and two additional engines for GTK2. Required GTK+-2.8.9 13. GNOME Themes-2.12.1 The GNOME Themes package contains several more theme sets. Required intltool-0.34.1 and GTK Engines-2.6.5 14. ScrollKeeper-0.3.14 The ScrollKeeper package contains a cataloging system for documentation. This is useful for managing documentation metadata and providing an API to help browsers find, sort and search the document catalog. Required intltool-0.34.1, libxslt-1.1.15 and DocBook XML DTD-4.4 15. GNOME Doc Utils-0.4.4 The GNOME Doc Utils package is a collection of documentation utilities for the GNOME project. Notably, it contains utilities for building documentation and all auxiliary files in your source tree, and it contains the DocBook XSLT stylesheets that were once distributed with Yelp. Starting with GNOME 2.8, Yelp requires GNOME Doc Utils for the XSLT. Starting with GNOME 2.12, many of the core GNOME packages require GNOME Doc Utils. Required Python-2.4.2 and ScrollKeeper-0.3.14 Optional pkg-config-0.20 16. GNOME Desktop-2.12.1 The GNOME Desktop package contains the gnome-about program, the libgnome-desktop-2 library and GNOME's core graphics files and icons. Required libgnomeui-2.12.0 and GNOME Doc Utils-0.4.4 Recommended startup-notification-0.8 17. gnome-backgrounds-2.12.1 The gnome-backgrounds package contains a set of backgrounds used in the GNOME desktop. Required intltool-0.34.1 18. gnome-menus-2.12.0 The gnome-menus package contains an implementation of the draft ¡°Desktop Menu Specification¡± from freedesktop.org (http://www.freedesktop.org/Standards/menu-spec). Also contained are the GNOME menu layout configuration files, .directory files and a menu related utility program. Required GLib-2.8.4 and intltool-0.34.1 Optional Python-2.4.2 and Gamin-0.1.7 19. GNOME Panel-2.12.1 The GNOME Panel package contains hooks to the menu sub-system and the applet sub-system. Required GNOME Desktop-2.12.1, libwnck-2.12.1 and gnome-menus-2.12.0 Optional Evolution Data Server-1.4.1.1 (required if you plan on installing Evolution or GnomeMeeting) and GTK-Doc-1.4 20. GNOME Session-2.12.0 The GNOME Session package contains the GNOME session manager. Required libgnomeui-2.12.0 Optional tcpwrappers-7.6 21. VTE-0.11.15 The VTE package contains a termcap file implementation for terminal emulators. Required GTK+-2.8.9 Optional GTK-Doc-1.4 and PyGTK 22. GNOME Terminal-2.12.0 The GNOME Terminal package contains the console. This is useful for executing programs from a command prompt. Required libgnomeui-2.12.0, ScrollKeeper-0.3.14, VTE-0.11.15 and startup-notification-0.8 23. LibGTop-2.12.0 The LibGTop package contains the GNOME top libraries. Required GLib-2.8.4 Optional popt-1.7-5, GDBM-1.8.3 and X (XFree86-4.5.0 or X.org-6.8.2) 24. GAIL-1.8.5 The GAIL package contains the GNOME Accessibility Implementation Libraries. Required libgnomecanvas-2.12.0 Optional GTK-Doc-1.4 25. GNOME Applets-2.12.0 The GNOME Applets package contains small applications which generally run in the background and display their output to the GNOME panel. Required GAIL-1.8.5, GNOME Panel-2.12.1 and libxklavier-2.0 Optional LibGTop-2.12.0, GStreamer Plug-ins-0.8.11, HAL-0.5.4, gucharmap-1.4.4, system-tools-backends-1.4.0, DocBook-utils-0.6.14, libapm and libnotify 26. EEL-2.12.1 The EEL package contains the Eazel Extensions Library. This is a collection of widgets and extensions to the GNOME platform. Required GNOME Desktop-2.12.1, gnome-menus-2.12.0 and GAIL-1.8.5 27. Nautilus-2.12.1 The Nautilus package contains the GNOME shell and file manager. Required EEL-2.12.1, libexif-0.6.12 and librsvg-2.12.7 Optional startup-notification-0.8 and DocBook-utils-0.6.14 28. Yelp-2.12.1 The Yelp package contains the help browser. This is useful for viewing help files. Required libgnomeui-2.12.0, GNOME Doc Utils-0.4.4 and a Gecko HTML rendering engine (Mozilla-1.7.11 or Firefox-1.5 or Thunderbird-1.0.6) 29. Control Center-2.12.1 The Control Center package contains the GNOME settings managers. Required libxklavier-2.0, Metacity-2.12.1, GNOME Icon Theme-2.12.1 and Nautilus-2.12.1 Optional Evolution Data Server-1.4.1.1, ALSA-1.0.9, GStreamer Plug-ins-0.8.11 and XScreenSaver-4.22 30. GNOME2 User Docs-2.8.1 The GNOME2 User Docs package contains end user documents for GNOME. Required ScrollKeeper-0.3.14 Optional DocBook-utils-0.6.14 }}} * Configuring the Core GNOME Packages === GNOME Additional Packages === {{{ 31. libgnomecups-0.2.2 The libgnomecups package contains a library used to wrap the CUPS API in a GLib fashion, so CUPS code can be cleanly integrated with GLib code. Required CUPS-1.1.23, GLib-2.8.4 and intltool-0.34.1 32. libgnomeprint-2.12.1 The libgnomeprint package contains libgnomeprint libraries. Required Pango-1.10.2, libart_lgpl-2.3.17, Fontconfig-2.3.2, popt-1.7-5, libxml2-2.6.22 and XML::Parser Optional CUPS-1.1.23 (and libgnomecups-0.2.2), GTK-Doc-1.4 and DocBook-utils-0.6.14 33. libgnomeprintui-2.12.1 The libgnomeprintui package contains the libgnomeprintui library. Required libgnomecanvas-2.12.0, GNOME Icon Theme-2.12.1 and libgnomeprint-2.12.1 Optional GTK-Doc-1.4 34. GtkHTML-3.8.1 The GtkHTML package contains a lightweight HTML rendering/printing/editing engine. This is an Evolution specific application at this time. Required libgnomeui-2.12.0, GAIL-1.8.5, GNOME Icon Theme-2.12.1 and libgnomeprintui-2.12.1 Optional libsoup-2.2.6.1 35. libgtkhtml-2.6.3 The libgtkhtml package contains the libgtkhtml-2 library. This library provides an API for rendering HTML. Required GTK+-2.8.9 and libxml2-2.6.22 Optional GAIL-1.8.5 and GNOME Virtual File System-2.12.1 36. Evolution Data Server-1.4.1.1 The Evolution Data Server package provides a unified backend for programs that work with contacts, tasks, and calendar information. It was originally developed for Evolution (hence the name), but is now used by other packages as well. Required libgnomeui-2.12.0 and libsoup-2.2.6.1 Optional OpenLDAP-2.3.11, Mozilla-1.7.11 or Firefox-1.5 or Thunderbird-1.0.6 (NSS/NSPR libs for SSL and S/MIME support), Sendmail-8.13.4, Heimdal-0.7.1 or MIT krb5-1.4.1, krb4, GTK-Doc-1.4 and DocBook-utils-0.6.14 37. gtksourceview-1.4.2 The gtksourceview package contains libgtksourceview libraries. This is useful for extending the GTK text functions to include syntax highlighting. Required GNOME Virtual File System-2.12.1 and libgnomeprintui-2.12.1 Optional GTK-Doc-1.4 38. system-tools-backends-1.4.0 The system-tools-backends are a set of cross-platform scripts for Linux and other Unix systems. The backends provide a standard XML interface for modifying the configuration regardless of the distribution being used. Required intltool-0.34.1 39. gnome-audio-2.0.0 The gnome-audio package contains a set of default sounds for the GNOME GUI desktop. Sound files for startup, shutdown and many GTK+ events are included. These sounds compliment the GNOME Media package. 40. bug-buddy-2.12.1 The bug-buddy package contains a graphical bug reporting tool. This can extract debugging information from a core file or crashed application. Required GNOME Desktop-2.12.1 and gnome-menus-2.12.0 41. gedit-2.12.1 The gedit package contains a lightweight UTF-8 text editor for the GNOME desktop. Required EEL-2.12.1 and gtksourceview-1.4.2 Optional Aspell-0.60.4 42. EOG-2.12.1 The EOG package contains Eye of GNOME. This is useful for viewing and cataloging image files. Required libgnomeui-2.12.0 and libgnomeprintui-2.12.1 Optional libjpeg-6b, libexif-0.6.12 and lcms-1.14 43. GGV-2.12.0 The GGV package contains a PostScript file viewer. Required libgnomeui-2.12.0, and ESP Ghostscript-8.15.1 or AFPL Ghostscript-8.51 Optional CUPS-1.1.23 or LPRng-3.8.28 44. Evince-0.4.0 The Evince package contains a document viewer for multiple document formats. It currently supports PDF, Postscript, DjVu, TIFF and DVI. This is useful for viewing documents of various types using one simple application instead of the multiple document viewers that once existed on the GNOME Desktop. Required libgnomeui-2.12.0, GNOME Doc Utils-0.4.4, libgnomeprintui-2.12.1, Poppler-0.4.2 (built with GTK+ support), ESP Ghostscript-8.15.1 or AFPL Ghostscript-8.51 and which-2.16 Optional Nautilus-2.12.1, D-BUS-0.50, LibTIFF-3.7.4, TeX-3.0, DjVuLibre and t1lib 45. File Roller-2.12.1 File Roller is an archive manager for GNOME with support for tar, bzip2, gzip, zip, jar, compress, lzop and many other archive formats. Required Nautilus-2.12.1 46. GConf Editor-2.12.0 The GConf Editor package contains a GUI editor for the GConf configuration database. Required libgnomeui-2.12.0 47. GNOME Utilities-2.12.1 The GNOME Utilities package contains a collection of small applications designed to make your life a little easier. Required GNOME Panel-2.12.1 and libgnomeprintui-2.12.1 Optional Linux-PAM-0.99.2.0 (only if consolehelper is also installed) and HAL-0.5.4 48. GNOME System Monitor-2.12.1 The GNOME System Monitor package contains gnome-system-monitor, GNOME's replacement for gtop. Required libgnomeui-2.12.0, libwnck-2.12.1 and LibGTop-2.12.0 49. Nautilus CD Burner-2.12.1 The Nautilus CD Burner lets you write files to a CD burner easily with GNOME; by drag-and-dropping files using the GNOME file manager, Nautilus. Required Nautilus-2.12.1 and Cdrtools-2.01 Optional HAL-0.5.4 50. GNOME Media-2.12.0 The GNOME Media package contains GNOME's media applications. Required Nautilus CD Burner-2.12.1 Recommended GStreamer Plug-ins-0.8.11 (required for the mixer and recorder to work) Optional Sendmail-8.13.4 (or other MTA that provides /usr/sbin/sendmail) and DocBook-utils-0.6.14 51. GNOME Netstatus-2.12.0 The GNOME Netstatus package contains a panel applet that monitors network interfaces. It provides indicators for incoming and outgoing data, packets received and transmitted, and information about the network interface such as IP information and Ethernet address. Required GNOME Panel-2.12.1 52. gcalctool-5.6.31 gcalctool is a powerful graphical calculator with financial, logical and scientific modes. It uses a multiple precision package to do its arithmetic to give a high degree of accuracy. Required libgnomeui-2.12.0 and ScrollKeeper-0.3.14 53. gucharmap-1.4.4 gucharmap is a Unicode character map and font viewer. It allows you to browse through all the available Unicode characters and categories for the installed fonts, and to examine their detailed properties. It is an easy way to find the character you might only know by its Unicode name or code point. Required intltool-0.34.1, GTK+-2.8.9 and GNOME Doc Utils-0.4.4 Optional libgnomeui-2.12.0 and ScrollKeeper-0.3.14 54. Zenity-2.12.1 Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you to display GTK+ dialog boxes from the command line and shell scripts. Required libgnomecanvas-2.12.0 and GNOME Doc Utils-0.4.4 55. Epiphany-1.8.2 Epiphany is a simple yet powerful GNOME web browser targeted at non-technical users. Its principles are simplicity and standards compliance. Required GNOME Desktop-2.12.1, libgnomeprintui-2.12.1, D-BUS-0.50, which-2.16, iso-codes-0.48, and Mozilla-1.7.11 or Firefox-1.5 or Thunderbird-1.0.6 Optional startup-notification-0.8, GNOME-Python (requires PyGTK and can use PyORBit) and GTK-Doc-1.4 56. GnomeMeeting-1.2.2 GnomeMeeting is an H.323 compatible videoconferencing and VOIP/IP-Telephony application that allows you to make audio and video calls to remote users with H.323 hardware or software (such as Microsoft Netmeeting). It supports all modern videoconferencing features, such as registering to an ILS directory, gatekeeper support, making multi-user conference calls using an external MCU, using modern Quicknet telephony cards, and making PC-To-Phone calls. Required libgnomeui-2.12.0, ScrollKeeper-0.3.14, Evolution Data Server-1.4.1.1, OpenLDAP-2.3.11, PWLib-1.8.7 (compiled with OpenLDAP support) and OpenH323-1.15.6 Optional SDL-1.2.9 (required for full-screen video), D-BUS-0.50 and Howl 57. GNOME Keyring Manager-2.12.0 The GNOME Keyring Manager package contains a keyring management program for the GNOME Desktop. This is useful for maintenance of a keyring database using a graphical user interface. Required libgnomeui-2.12.0 and GNOME Doc Utils-0.4.4 58. gnome-volume-manager-1.5.1 The gnome-volume-manager package contains a volume manager for GNOME. It is a desktop-level daemon that enforces volume-related policy in response to events received from HAL. This is useful for automatic mounting of floppy diskettes, CDROMs and removable storage devices. It can also be used to automatically run a program in response to other hotplug events such as plugging in USB printers or cameras, or inserting DVDs and music CDs. The goal of gnome-volume-manager is to implement all functionality as a state-machine in response to asynchronous events from HAL. It is one component in a larger plan to fully integrate all levels of the Linux system, from the kernel on up through the desktop and its applications. Required libgnomeui-2.12.0 and HAL-0.5.4 Optional Nautilus-2.12.1 59. GNOME Games-2.12.1 The GNOME Games package contains games. Starting with GNOME-2.8, the background graphics, artwork and themes for the games are supplied in a separate package. You can download the GNOME Games Extra Data package from Required libgnomeui-2.12.0, ScrollKeeper-0.3.14 and librsvg-2.12.7 Optional Guile-1.6.7 (required to build the AisleRiot solitaire games), Howl and GOB2 The gnibbles game will attempt to start the network game server daemon games-server.py, which requires Python-2.4.2. 60. Sound Juicer-2.12.2 The Sound Juicer package contains the sound-juicer program, a simple and clean CD ripping tool. This is useful for extracting the audio tracks from audio compact discs and converting them into audio files. It can also play the audio tracks directly from the CD, allowing you to preview the CD before ripping it. Sound Juicer is designed to be easy to use, and to work with little user intervention. When you start sound-juicer it will examine the CD in the drive and try to locate information about the audio tracks using the MusicBrainz service. Required GNOME Media-2.12.0, GStreamer Plug-ins-0.8.11 and libmusicbrainz-2.1.1 61. Totem-1.2.0 The Totem package contains the official movie player of the GNOME desktop environment based on xine-lib or GStreamer. It features a playlist, a full-screen mode, seek and volume controls, as well as keyboard navigation. This is useful for playing any xine-lib or GStreamer supported file, DVD, VCD or digital CD. Required GNOME Icon Theme-2.12.1, GNOME Desktop-2.12.1, iso-codes-0.48, libmusicbrainz-2.1.1 and xine Libraries-1.1.0 (default back-end) or GStreamer Plug-ins-0.8.11 (and GStreamer FFmpeg plug-in) Optional Nautilus-2.12.1, Mozilla-1.7.11 or Firefox-1.5 (to build the browser plug-in, requires D-BUS-0.50 also), libirman, LIRC, Gromit (required for the telestrator mode) and NvTv Simple Note: libdvdcss-1.2.9 is a run-time requirement if you wish to play encrypted DVDs 62. GDM-2.8.0.5 The GDM package contains GNOME's Display Manager daemon. This is useful for allowing configurable graphical logins. Required libgnomeui-2.12.0, ScrollKeeper-0.3.14 and librsvg-2.12.7 Optional Linux-PAM-0.99.2.0 and tcpwrappers-7.6 63. AT SPI-1.6.6 The AT SPI package contains the Assistive Technology Service Provider Interface. This is useful for redirecting UI events to accessible applications and adaptive/assistive technologies. Required GAIL-1.8.5 and libbonobo-2.10.1 Optional GTK-Doc-1.4 64. Java Access Bridge-1.4.5 The Java Access Bridge package contains Java components which connect the built-in accessibility support in Java Swing applications to the GNOME Accessibility framework, specifically the Assistive Technology Service Provider Interface (AT-SPI). Required AT SPI-1.6.6 and JDK-1.5.0_05 65. libgail-gnome-1.1.1 The libgail-gnome package contains the GNOME Accessibility Implementation library additions which implement ATK interfaces for libbonoboui and libgnomeui widgets. Required GNOME Panel-2.12.1 and AT SPI-1.6.6 66. GNOME Speech-0.3.8 The GNOME Speech package provides a simple general API for producing text-to-speech output. Multiple backends are supported by the GNOME Speech library, but currently only the Festival backend is built by default; the other backends require either Java or proprietary software. Required libbonobo-2.10.1 Optional Java Access Bridge-1.4.5, FreeTTS-1.2.1, Festival, ViaVoice, Eloquence, DECTalk and Theta 67. GNOME Magnifier-0.12.2 The GNOME Magnifier includes a screen magnifier, which allows you to zoom in on portions of the desktop. It is expressly designed for users with low vision who wish to use the GNOME desktop. Required AT SPI-1.6.6 Optional (For XFree86 Only) Xdamage (requires FixesExt* then Xfixes then DamageExt) Ensure you created the xextensions.pc file as shown in the XFree86-4.5.0 instructions. 68. Gnopernicus-0.12.0 Gnopernicus enables users with limited vision, or no vision, to use the GNOME desktop and applications effectively. It provides a number of features, including magnification, focus tracking, braille output, automatic screen reading and more. Required libgail-gnome-1.1.1, GNOME Speech-0.3.8 and GNOME Magnifier-0.12.2 Optional GTK-Doc-1.4 and BRLTTY 69. GOK-1.0.5 GOK is a dynamic onscreen keyboard. It features Direct Selection, Dwell Selection, Automatic Scanning and Inverse Scanning access methods and includes word completion. Required libgnomeui-2.12.0, ScrollKeeper-0.3.14, libwnck-2.12.1, AT SPI-1.6.6 and GNOME Speech-0.3.8 Optional GTK-Doc-1.4 }}} === GNOME 1.4 Libraries === {{{ This section contains GNOME 1.4 libraries, needed by some applications that have not yet been ported to GNOME 2.x. None of these libraries are needed for a GNOME desktop installation. 70. ORBit-0.5.17 The ORBit package contains a high-performance CORBA Object Request Broker. This allows programs to send requests and receive replies from other programs. Required GLib-1.2.10 Optional tcpwrappers-7.6 71. OAF-0.6.10 The OAF package contains the Object Activation Framework for GNOME. Required ORBit-0.5.17, libxml-1.8.17 and popt-1.7-5 Optional GTK-Doc-1.4 72. GNOME Libraries-1.4.2 The GNOME Libraries package contains the GNOME libraries. This is useful as a foundation for the GNOME Desktop and applications. Required ORBit-0.5.17, GTK+-1.2.10, Imlib-1.9.15 and Berkeley DB-4.3.29 Optional Audio File-0.2.6, EsounD-0.2.36 and GTK-Doc-1.4 73. GDK Pixel Buffer-0.22.0 The GDK Pixel Buffer package is the GTK+ pixel buffer library. Required GTK+-1.2.10 Optional GNOME Libraries-1.4.2, GTK-Doc-1.4 and DocBook-utils-0.6.14 74. GNOME Print-0.37 The GNOME Print package contains the GNOME Printing Architecture, for GNOME 1.4. Required GDK Pixel Buffer-0.22.0, GNOME Libraries-1.4.2 and libxml-1.8.17 75. Bonobo-1.0.22 The Bonobo package contains a set of language and system independent CORBA interfaces for creating reusable components, controls and compound documents. Required OAF-0.6.10 and GNOME Print-0.37 Optional GTK-Doc-1.4 and DocBook-utils-0.6.14 76. GConf-1.0.9 The GConf package contains a configuration database system. Required OAF-0.6.10 and popt-1.7-5 Optional GTK+-1.2.10, Berkeley DB-4.3.29, Guile-1.6.7 and GTK-Doc-1.4 77. GNOME Virtual File System-1.0.5 The GNOME Virtual File System package contains file system libraries. Required GNOME MIME Data-2.4.2 and GNOME Libraries-1.4.2 Optional pkg-config-0.20, OAF-0.6.10, libxml-1.8.17, GConf-1.0.9, Bonobo-1.0.22, OpenSSL-0.9.7i, CDParanoia-III-9.8, GTK-Doc-1.4 and DocBook-utils-0.6.14 78. Libglade-0.17 The libglade package contains libraries which allow applications to load Glade interface files at runtime. Required libxml-1.8.17 and GTK+-1.2.10 Optional GNOME Libraries-1.4.2, Bonobo-1.0.22, Python-2.4.2 (to run the libglade-xgettext script) and GTK-Doc-1.4 79. GAL-0.24 The GAL package contains library functions that came from Gnumeric and Evolution. GAL is short for GNOME Application Libs. Required GNOME Print-0.37 and libglade-0.17 Optional GNOME Virtual File System-1.0.5 and GTK-Doc-1.4 80. Guppi-0.40.3 The Guppi package contains a Guile scriptable plot library with integrated statistics capabilities. Required GNOME Print-0.37 and libglade-0.17 Optional Bonobo-1.0.22, GTK-Doc-1.4 and DocBook-utils-0.6.14 81. Libcapplet-1.5.11 The libcapplet package contains a control panel applet library. Required GNOME Libraries-1.4.2 Optional pkg-config-0.20 82. Soup-0.7.11 The Soup package contains a SOAP (Simple Object Access Protocol) implementation in C. Required GLib-1.2.10 or GLib-2.8.4, libxml-1.8.17 or libxml2-2.6.22 and popt-1.7-5 Optional Apache-2.2.0, OpenSSL-0.9.7i or Mozilla-1.7.11 (for the NSS libraries), GTK-Doc-1.4 and DocBook-utils-0.6.14 83. Libghttp-1.0.9 The libghttp package contains a GNOME 1.4 HTTP client library. 84. GtkHTML-1.1.7 The GtkHTML package contains a lightweight HTML rendering/printing/editing engine. Required GAL-0.24 and libcapplet-1.5.11 Optional GConf-1.0.9, Soup-0.7.11, Bonobo-1.0.22, libghttp-1.0.9 and GTK-Doc-1.4 }}} === centos === {{{ lfs:/mnt/lfs/sources/gcc-build$ ../gcc-4.0.2/configure --prefix=/tools \ > --with-local-prefix=/tools --disable-nls --enable-shared \ > --enable-languages=c *** This configuration is not supported in the following subdirectories: target-libada target-libstdc++-v3 target-libgfortran target-libffi target-boehm-gc target-zlib target-libjava zlib fastjar target-libobjc (Any other directories should still work fine.) }}} {{{ glibc 5 lfs:/mnt/lfs/sources/glibc-build$ make -k check >glibc-check-log 2>&1 lfs:/mnt/lfs/sources/glibc-build$ vi glibc-check-log lfs:/mnt/lfs/sources/glibc-build$ grep Error glibc-check-log make[2]: [/mnt/lfs/sources/glibc-build/posix/annexc.out] Error 1 (ignored) make[2]: *** [/mnt/lfs/sources/glibc-build/nptl/tst-eintr2.out] Error 1 make[2]: *** [/mnt/lfs/sources/glibc-build/nptl/tst-eintr3.out] Error 1 make[2]: *** [/mnt/lfs/sources/glibc-build/nptl/tst-eintr5.out] Error 1 make[2]: *** [/mnt/lfs/sources/glibc-build/nptl/tst-tsd5.out] Error 1 make[2]: *** [/mnt/lfs/sources/glibc-build/nptl/tst-exit2.out] Error 1 make[2]: *** [/mnt/lfs/sources/glibc-build/nptl/tst-exit3.out] Error 1 make[1]: *** [nptl/tests] Error 2 make[2]: *** [/mnt/lfs/sources/glibc-build/rt/tst-timer2.out] Error 1 make[1]: *** [rt/tests] Error 2 make: *** [check] Error 2 }}} {{{ dejagnu-1.4.4 lfs:/mnt/lfs/sources/dejagnu-1.4.4$ make check Making check in doc make[1]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4/doc' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4/doc' make[1]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4' make check-DEJAGNU make[2]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4' cd testsuite ; make check make[3]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite' Making check in libdejagnu make[4]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite/libdejagnu' if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"dejagnu\" -DVERSION=\"1.4.4\" -I. -I. -I../.. -g -g -O2 -MT unit.o -MD -MP -MF ".deps/unit.Tpo" \ -c -o unit.o `test -f 'unit.cc' || echo './'`unit.cc; \ then mv -f ".deps/unit.Tpo" ".deps/unit.Po"; \ else rm -f ".deps/unit.Tpo"; exit 1; \ fi g++ -I../.. -g -g -O2 -o unit unit.o make[4]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite/libdejagnu'make[4]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite' Nothing to be done for all make check-DEJAGNU make[5]: Entering directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite' Making a new site.exp file... srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; export srcdir; \ EXPECT=expect; export EXPECT; \ runtest=` if [ -f ../runtest ] ; then echo ../runtest; else echo "ERROR: runtest not found" ; exit 1; fi`; \ if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \ l='dejagnu'; for tool in $l; do \ $runtest --srcdir $srcdir ; \ done; \ else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi WARNING: Couldn't find the global config file. WARNING: No tool specified Test Run By lfs on Sat Jan 21 22:02:28 2006 Native configuration is i686-pc-linux-gnu === tests === Schedule of variations: unix Running target unix Using /mnt/lfs/sources/dejagnu-1.4.4/testsuite/../config/base-config.exp as tool-and-target-specific interface file. Using /mnt/lfs/sources/dejagnu-1.4.4/testsuite/config/default.exp as tool-and-target-specific interface file. Running /mnt/lfs/sources/dejagnu-1.4.4/testsuite/libdejagnu/tunit.exp ... FAIL: Pass message FAIL: Fail message FAIL: Untested message FAIL: Unresolved message Running /mnt/lfs/sources/dejagnu-1.4.4/testsuite/runtest.all/libs.exp ... Running /mnt/lfs/sources/dejagnu-1.4.4/testsuite/runtest.all/options.exp ... Running /mnt/lfs/sources/dejagnu-1.4.4/testsuite/runtest.all/stats-sub.exp ... Running /mnt/lfs/sources/dejagnu-1.4.4/testsuite/runtest.all/stats.exp ... === Summary === # of expected passes 59 # of unexpected failures 4 make[5]: *** [check-DEJAGNU] Error 1 make[5]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4/testsuite' make[2]: *** [check-DEJAGNU] Error 2 make[2]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/mnt/lfs/sources/dejagnu-1.4.4' make: *** [check-recursive] Error 1 }}}