· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Jin LiveCD/LinuxFS

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
    



    sponsored by andamiro
    sponsored by cdnetworks
    sponsored by HP

    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2006-01-22 08:31:08
    Processing time 2.1781 sec