*************************************************************** *************************************************************** # # # build temp-system mit GNU LibC 2.8 # # gcc, gc++, gcj, gcobjc -> 4.5.4 # # 2013-05-27 # svn://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch # ergibt dann einen 4.5.4 # 'gcc (GCC) 4.5.4' # angefangen mit gcc-4.2.5 exit 1 # http://www.linuxfromscratch.org/lfs/view/6.6/index.html # http://www.linuxfromscratch.org/lfs/view/7.1/ # http://www.linuxfromscratch.org/patches/downloads/ # http://oss.erdfunkstelle.de/lfs-de/6.4/online/chapter05/gcc-pass1.html Basis LFS 6.7 und SuSE-11.4 als User holbru zum Hostsystem hinzugefuegt su - holbru gmp-5.0.5 -> Pack-Eis mpfr-3.1.1 -> Pack-Eis tar xf mpc-1.0.1.tar.xz export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check GMP: include 5.0.5, lib 5.0.5 MPFR: include 3.1.1, lib 3.1.1 MPC: include 1.0.1, lib 1.0.1 C compiler: i486-pc-linux-gnu-gcc GCC: yes GCC version: 4.2.5 su - root make install ------------------------------- weiter mit User lfs su - lfs # binutils 2.21 # patches from SuSE-11.4 with rpm tar xf binutils-2.21.tar.xz && mkdir -v binutils-build && cd binutils-build CC="gcc -B/usr/bin/" ../binutils-2.21/configure \ --prefix=/tools \ --disable-nls \ --disable-werror \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # gcc-4_5-branch -> 4.5.4 # Es ist besser c++ mit zubauen, dadurch lassen sich # gmp, mpfr und mpc ausserhalb vom gcc im 2. Durchgang bauen, # da c++ dafuer erforderlich ist. Dauert wesentlich laenger. tar xf gcc-4_5-branch.tar.xz mkdir -v gcc-build && cd gcc-build ../gcc-4_5-branch/configure \ --prefix=/tools \ --with-local-prefix=/tools \ --disable-nls \ --disable-shared \ --disable-multilib \ --disable-decimal-float \ --disable-threads \ --disable-libssp \ --disable-libmudflap \ --disable-libgomp \ --enable-languages=c,c++ \ --without-ppl \ --without-cloog \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install ln -vs libgcc.a `gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/'` ln -vs gcc /tools/bin/cc # Installation von Linux-API-Header 2.6.32-eisfair-1 su - holbru make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install su - lfs cp -rv dest/include/* /tools/include # glibc-2.11.3 tar xf glibc-2.11.3.tar.bz2 patches from SuSE-11.4 with rpm mkdir -v glibc-build && cd glibc-build echo "CFLAGS += -march=i486 -mtune=native" > configparms ../glibc-2.11.3/configure \ --prefix=/tools \ --disable-profile \ --enable-add-ons \ --enable-kernel=2.6.0 \ --with-headers=/tools/include \ libc_cv_forced_unwind=yes \ libc_cv_c_cleanup=yes \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu configure: running configure fragment for add-on libidn configure: running configure fragment for add-on noversion configure: running configure fragment for add-on nptl make mkdir -v /tools/etc touch /tools/etc/ld.so.conf make install # Anpasssen der toolchain mv -v /tools/bin/{ld,ld-old} mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} mv -v /tools/bin/{ld-new,ld} ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld SPECS=`dirname $(gcc -print-libgcc-file-name)`/specs gcc -dumpspecs | sed \ -e 's@/lib\(64\)\?/ld@/tools&@g' \ -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS echo "New specs file is: $SPECS" unset SPECS echo 'main(){}' > dummy.c cc dummy.c readelf -l a.out | grep ': /tools' [Requesting program interpreter: /tools/lib/ld-linux.so.2] rm -v dummy.c a.out ========================================================= 2. Durchlauf # libz 1.2.7 tar xf zlib-1.2.7.tar.gz cd zlib-1.2.7 ./configure \ --prefix=/tools make make install # Binutils 2.21 # patches from SuSE-11.4 with rpm mkdir -v binutils-build2 && cd binutils-build2 CC="gcc -B/tools/lib/" \ ../binutils-2.21/configure \ --prefix=/tools \ --disable-nls \ --with-lib-path=/tools/lib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v ld/ld-new /tools/bin # gmp 5.1.2 tar xf gmp-5.1.2.tar.xz cd gmp-5.1.2 ./configure \ --prefix=/tools \ --enable-cxx \ --enable-mpbsd \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # mpfr 3.1.2 tar xf mpfr-3.1.2.tar.xz cd mpfr-3.1.2 ./configure \ --prefix=/tools \ --enable-thread-safe \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # mpc 1.0.1 tar xf mpc-1.0.1.tar.xz cd mpc-1.0.1 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # gcc 4_5-branch cd gcc-4_5-branch patch -Np1 -i ../gcc-4.5.3-startfiles_fix-1.patch cp -v gcc/Makefile.in{,.orig} sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in cp -v gcc/Makefile.in{,.tmp} sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \ > gcc/Makefile.in for file in \ $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h) do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \ -e 's@/usr@/tools@g' $file.orig > $file echo ' #undef STANDARD_INCLUDE_DIR #define STANDARD_INCLUDE_DIR 0 #define STANDARD_STARTFILE_PREFIX_1 "" #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file touch $file.orig done cd .. mkdir -v gcc-build2 cd gcc-build2 CC="gcc -B/tools/lib/" \ ../gcc-4_5-branch/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 \ --disable-multilib \ --disable-libgomp \ --without-ppl \ --without-cloog \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install ln -vs gcc /tools/bin/cc echo 'main(){}' > dummy.c cc dummy.c readelf -l a.out | grep ': /tools' [Requesting program interpreter: /tools/lib/ld-linux.so.2] rm -v dummy.c a.out # Tcl 8.5.12 cd unix ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install chmod -v u+w /tools/lib/libtcl8.5.so make install-private-headers ln -sv tclsh8.5 /tools/bin/tclsh # Expect 5.45 cp -v configure{,.orig} sed 's:/usr/local/bin:/bin:' configure.orig > configure ./configure \ --prefix=/tools \ --with-tcl=/tools/lib \ --with-tclinclude=/tools/include \ --with-x=no \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make SCRIPTS="" install # Dejagnu 1.5 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Ncurses 5.9 ./configure \ --prefix=/tools \ --with-shared \ --without-debug \ --without-ada \ --enable-overwrite \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Bash 4.2 ./configure \ --prefix=/tools \ --without-bash-malloc \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install ln -vs bash /tools/bin/sh # Bzip 1.0.6 make make PREFIX=/tools install # Coreutils 8.9 ./configure \ --prefix=/tools \ --enable-install-program=hostname \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install cp -v src/su /tools/bin/su-tools # Diffutils 3.2 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # File 5.10 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Findutils 4.4.2 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Gawk 4.0.1 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Gettext 18.2 cd gettext-tools ./configure \ --prefix=/tools \ --disable-shared \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make -C gnulib-lib make -C src msgfmt cp -v src/msgfmt /tools/bin # grep 2.14 ./configure \ --prefix=/tools \ --disable-perl-regexp \ --without-included-regex \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Gzip 1.5 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # M4 1.4.16 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Make 3.82 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Patch 2.7.1 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Perl 5.16.2 patch -Np1 -i ../perl-5.16.2-libc-1.patch sh Configure -des -Dprefix=/tools \ -Dstatic_ext='Data/Dumper Fcntl IO POSIX' make perl utilities ext/Errno/pm_to_blib cp -v perl pod/pod2man /tools/bin mkdir -pv /tools/lib/perl5/5.16.2 cp -Rv lib/* /tools/lib/perl5/5.16.2 # Sed 4.2.1 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Tar 1.26 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # Texinfo 4.13a ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # xz 5.0.4 ./configure \ --prefix=/tools \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install # ================================================================ # Stage 3 # ================================================================ # Basissystem aufbauen als root mkdir -pv $LFS/{dev,proc,sys} mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 # Platten einhaengen mount -v --bind /dev $LFS/dev mount -vt devpts devpts $LFS/dev/pts mount -vt tmpfs shm $LFS/dev/shm mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys # Chrooten 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 # Ordnerstruktur erstellen mkdir -pv /{bin,boot,etc/opt,home,lib,mnt,opt} mkdir -pv /{media/{floppy,cdrom},sbin,srv,var} install -dv -m 0750 /root install -dv -m 1777 /tmp /var/tmp mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} mkdir -pv /usr/{,local/}share/{doc,info,locale,man} mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} mkdir -pv /usr/{,local/}share/man/man{1..8} for dir in /usr /usr/local; do ln -sv share/{man,doc,info} $dir done mkdir -v /var/{lock,log,mail,run,spool} mkdir -pv /var/{opt,cache,lib/{misc,locate},local} # Dateien erstellen ln -sv /tools/bin/{bash,cat,echo,grep,pwd,stty} /bin ln -sv /tools/bin/perl /usr/bin ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib ln -sv bash /bin/sh touch /etc/mtab cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash nobody:x:99:99:Unprivileged User:/dev/null:/bin/false EOF cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: uucp:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: mail:x:34: nogroup:x:99: EOF exec /tools/bin/bash --login +h touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog # loss gehts ;-) # Linux Header 2.6.32 # eiskernel: 2.2.0 (2.6.32-eisfair-1-SMP) su - holbru make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install find dest/include \( -name .install -o -name ..install.cmd \) -delete # chroot cp -rv /sources/dest/include/* /usr/include # Man-pages 3.32 # weill es in lfs steht ;-) tar xf man-pages-3.32.tar make install # glibc 2.11.3 patches from SuSE-11.4 with rpm DL=$(readelf -l /bin/sh | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p') sed -i "s|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=$DL -o|" \ scripts/test-installation.pl unset DL sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in mkdir -v ../glibc-build20 && cd ../glibc-build20 #echo "CFLAGS += -march=i486 -mtune=native -O3 -pipe" > configparms #echo "CFLAGS += -march=i486 -mtune=native -pipe" > configparms echo "CFLAGS += -march=i486 -mtune=native" > configparms ../glibc-2.11.3/configure \ --prefix=/usr \ --disable-profile \ --enable-add-ons \ --enable-kernel=2.6.0 \ --libexecdir=/usr/lib/glibc \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu configure: running configure fragment for add-on libidn configure: running configure fragment for add-on noversion configure: running configure fragment for add-on nptl make cp -v ../glibc-2.11.3/iconvdata/gconv-modules iconvdata make -k check 2>&1 | tee glibc-check-log TIMEOUTFACTOR=32 make -k check 2>&1 | tee glibc-check-log [.... Generating locale de_DE.UTF-8: this might take a while. ...] grep Error glibc-check-log siehe auch dazu: http://www.linuxfromscratch.org/lfs/view/development/chapter06/glibc.html root:/sources/glibc-build2# grep Error glibc-check-log.1 make[2]: *** [/sources/glibc-build2/stdio-common/bug22.out] Error 1 make[1]: *** [stdio-common/tests] Error 2 make[2]: [/sources/glibc-build2/posix/annexc.out] Error 1 (ignored) make[2]: *** [/sources/glibc-build2/rt/tst-cpuclock2.out] Error 1 make[1]: *** [rt/tests] Error 2 make[2]: *** [/sources/glibc-build2/elf/tst-dlmodcount.out] Error 4 make[2]: *** [/sources/glibc-build2/elf/check-localplt.out] Error 1 make[1]: *** [elf/tests] Error 2 make: *** [check] Error 2 make[2]: *** [/sources/glibc-build2/stdio-common/bug22.out] Error 1 After some digging, I've discovered that the bug22 error is simply a time-out problem. Setting TIMEOUTFACTOR=16 makes it go away. make[2]: *** [/sources/glibc-build2/elf/tst-dlmodcount.out] Error 4 http://sourceware.org/bugzilla/show_bug.cgi?id=12561 http://sourceware-org.1504.n7.nabble.com/PATCH-ld-so-Fix-dlclose-removing-required-local-scope-elements-of-NODELETE-linkmaps-td15261.html make[2]: *** [/sources/glibc-build2/elf/check-localplt.out] Error 1 http://sourceware.org/bugzilla/show_bug.cgi?id=333 touch /etc/ld.so.conf make install # localedata/SUPPORTED bereinigt make localedata/install-locales ###################### # libc extrahieren make install_root=/public/glibc-2.11.3-stripped install make install_root=/public/glibc-2.11.3-stripped localedata/install-locales # kernel header hinzufuegen # aus dem installierten System nehmen, da Chnages durch GLibC moeglich cd root:/public/glibc-2.11.3-stripped/usr/include cp -Rf /usr/include/* . for filename in `find /public/glibc-2.11.3-stripped -type f` do echo "stripping $filename with -S" strip -S "$filename" done ###################### cat > /etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files protocols: files services: files ethers: files rpc: files # End /etc/nsswitch.conf EOF tzselect cp -v --remove-destination /usr/share/zoneinfo/Europe/Berlin \ /etc/localtime cat > /etc/ld.so.conf << "EOF" # Begin /etc/ld.so.conf /usr/local/lib /opt/lib # End /etc/ld.so.conf EOF mv -v /tools/bin/{ld,ld-old} mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} mv -v /tools/bin/{ld-new,ld} ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld gcc -dumpspecs | sed \ -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' \ -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \ -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \ `dirname $(gcc --print-libgcc-file-name)`/specs echo 'main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' [Requesting program interpreter: /lib/ld-linux.so.2] grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log /usr/lib/crt1.o succeeded /usr/lib/crti.o succeeded /usr/lib/crtn.o succeeded grep -B1 '^ /usr/include' dummy.log #include <...> search starts here: /usr/include grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' SEARCH_DIR("/tools/i486-pc-linux-gnu/lib") SEARCH_DIR("/usr/lib") SEARCH_DIR("/lib"); grep "/lib/libc.so.6 " dummy.log attempt to open /lib/libc.so.6 succeeded grep found dummy.log found ld-linux.so.2 at /lib/ld-linux.so.2 rm -v dummy.c a.out dummy.log ######################################################## Weiter mit der Toolchain # zlib 1.2.8 export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" ./configure \ --prefix=/usr make make check *** zlib test OK *** *** zlib shared test OK *** *** zlib 64-bit test OK *** make install unset CFLAGS unset CXXFLAGS # Binutils 2.21 # 2013-07-28 build binutils-2.22 expect -c "spawn ls" spawn ls cd binutils-2.21 rm -fv etc/standards.info sed -i.bak '/^INFO/s/standards.info //' etc/Makefile.in mkdir -v ../binutils-build20 && cd ../binutils-build20 ../binutils-2.22/configure \ --prefix=/usr \ --enable-shared \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make tooldir=/usr make -k check 2>&1 | tee binutils-check-log grep Error binutils-check-log === binutils Summary === # of expected passes 83 # of unsupported tests 2 === gas Summary === # of expected passes 316 === ld Summary === # of expected passes 614 # of expected failures 8 # of untested testcases 6 PASS: test-expandargv-0. PASS: test-expandargv-1. PASS: test-expandargv-2. PASS: test-expandargv-3. PASS: test-expandargv-4. PASS: test-expandargv-5. PASS: test-expandargv-6. # test 2.22 === binutils Summary === # of expected passes 89 # of unsupported tests 3 === gas Summary === # of expected passes 346 === ld Summary === # of expected passes 675 # of expected failures 8 # of untested testcases 1 PASS: test-expandargv-0. PASS: test-expandargv-1. PASS: test-expandargv-2. PASS: test-expandargv-3. PASS: test-expandargv-4. PASS: test-expandargv-5. PASS: test-expandargv-6. make tooldir=/usr install cp -v ../binutils-2.22/include/libiberty.h /usr/include ############ make tooldir=/usr DESTDIR=/public/toolchain/binutils-2.22/ install cp -v ../binutils-2.22/include/libiberty.h /public/toolchain/binutils-2.22/usr/include/ for filename in `find /public/toolchain/binutils-2.22/usr/{bin/*,lib/*.so} -type f` do echo $filename strip -R .note -R .comment "$filename" done ############# export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" # gmp 5.1.2 ./configure \ --prefix=/usr \ --enable-cxx \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu Version: GNU MP 5.1.2 Host type: i486-pc-linux-gnu ABI: 32 Install prefix: /usr Compiler: gcc -std=gnu99 Static libraries: yes Shared libraries: yes make make check 2>&1 | tee gmp-check-log awk '/tests passed/{total+=$2} ; END{print total}' gmp-check-log 185 make install # mpfr 3.1.2 ./configure \ --prefix=/usr \ --enable-thread-safe \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check ==================== All 160 tests passed (1 test was not run) ==================== make install # mpc 1.0.1 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check GMP: include 5.1.2, lib 5.1.2 MPFR: include 3.1.2, lib 3.1.2 MPC: include 1.0.1, lib 1.0.1 C compiler: i486-pc-linux-gnu-gcc GCC: yes GCC version: 4.5.4 PASS: tget_version =================== All 64 tests passed =================== make install # der gcc will 'flex' haben # flex braucht bison # bison 2.7.1 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu echo '#define YYENABLE_NLS 1' >> lib/config.h make make check ## ------------- ## ## Test results. ## ## ------------- ## 331 tests were successful. 21 tests were skipped. make install # flex 2.5.37 patch -Np1 -i ../flex-2.5.37-bison-2.6.1-1.patch ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check Tests succeeded: 46 Tests FAILED: 0 make install cat > /usr/bin/lex << "EOF" #!/bin/sh # Begin /usr/bin/lex exec /usr/bin/flex -l "$@" # End /usr/bin/lex EOF chmod -v 755 /usr/bin/lex ln -sv libfl.a /usr/lib/libl.a unset CFLAGS unset CXXFLAGS # gcc 4_5 branch sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in cd .. && mkdir gcc-build3 && cd gcc-build3 ../gcc-4_5-branch/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --disable-multilib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --disable-bootstrap \ --with-system-zlib make ulimit -s 16384 # besser gleich hochsetzen ulimit -s 32768 make -k check # dauert ca. 2,5 Std Test Run By root on Thu May 30 15:06:25 2013 Native configuration is i486-pc-linux-gnu Test Run By root on Sat Oct 13 18:58:29 2012 Native configuration is i486-pc-linux-gnu ../gcc-4_5-branch/contrib/test_summary | grep -A7 Summ. === gcc Summary === # of expected passes 62518 # of unexpected failures 1 # of unexpected successes 1 # of expected failures 165 # of unsupported tests 554 FAIL: gcc.dg/cpp/direct2s.c (test for excess errors) http://comments.gmane.org/gmane.comp.gcc.bugs/300359 === g++ Summary === # of expected passes 22706 # of expected failures 151 # of unsupported tests 118 === libstdc++ Summary === # of expected passes 7076 # of expected failures 95 # of unsupported tests 339 === libmudflap Summary === # of expected passes 1897 # of unexpected failures 9 FAIL: libmudflap.c/pass46-frag.c (-O2) (test for excess errors) FAIL: libmudflap.c/pass46-frag.c (-O2) (test for excess errors) FAIL: libmudflap.c/pass46-frag.c (-O3) (test for excess errors) FAIL: libmudflap.c/pass46-frag.c (-O3) (test for excess errors) FAIL: libmudflap.c++/pass41-frag.cxx execution test FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test FAIL: libmudflap.c++/pass41-frag.cxx ( -O) execution test FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test http://permalink.gmane.org/gmane.linux.lfs.devel/10328 === libgomp Summary === # of expected passes 1029 # > I`m wondering if I can keep going with my install. # # I think you can. I've seen this error and it's due to a huge number of # nested parentheses. (gcc.c-torture). I't not something you'd see in # practice. Soemthing (bash?, kernel?) is running out of stack space. I # don't know if there is a way to adjust things or not, but I am pretty # sure it's not a real problem. # -- Bruce # # # Upgrade the stack limit with 'ulimit -s 32768' and rerun the tests to # see if they continue to fail. http://comments.gmane.org/gmane.linux.lfs.devel/10322 make install ln -sv ../usr/bin/cpp /lib ln -sv gcc /usr/bin/cc echo 'main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' [Requesting program interpreter: /lib/ld-linux.so.2] grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log /usr/lib/gcc/i486-pc-linux-gnu/4.5.4/../../../crt1.o succeeded /usr/lib/gcc/i486-pc-linux-gnu/4.5.4/../../../crti.o succeeded /usr/lib/gcc/i486-pc-linux-gnu/4.5.4/../../../crtn.o succeeded grep -B4 '^ /usr/include' dummy.log #include <...> search starts here: /usr/local/include /usr/lib/gcc/i486-pc-linux-gnu/4.5.4/include /usr/lib/gcc/i486-pc-linux-gnu/4.5.4/include-fixed /usr/include grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' SEARCH_DIR("/usr/i486-pc-linux-gnu/lib") SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib"); grep "/lib/libc.so.6 " dummy.log attempt to open /lib/libc.so.6 succeeded grep found dummy.log found ld-linux.so.2 at /lib/ld-linux.so.2 rm -v dummy.c a.out dummy.log cp -v /usr/lib/libgcc_s.so.1 /lib cd /usr/lib/ && ln -sfv ../../lib/libgcc_s.so.1 libgcc_s.so ############################# make DESTDIR=/public/toolchain/gcc install ############################## export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" # java benoetigt zip # zip mit bz2 support # bzip2 1.0.6 make -f Makefile-libbz2_so make install PREFIX=/usr # zip 3.0 make -f unix/Makefile prefix=/usr generic make -f unix/Makefile prefix=/usr install unset CFLAGS unset CXXFLAGS # gcj cd .. && mkdir gcj-build && cd gcj-build ../gcc-4_5-branch/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++,java \ --disable-multilib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --disable-bootstrap \ --with-system-zlib make ############################# make DESTDIR=/public/toolchain/gcj install ############################## # objc cd .. && mkdir objc-build && cd objc-build ../gcc-4_5-branch/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++,objc,obj-c++ \ --disable-multilib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --disable-bootstrap \ --with-system-zlib make ############################# make DESTDIR=/public/toolchain/objc install ############################## # 2014-11-28 build fortran # fortran cd .. && mkdir fortran-build && cd fortran-build ../gcc-4_5-branch/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++,fortran \ --disable-multilib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --disable-bootstrap \ --with-system-zlib make ############################# make DESTDIR=/public/toolchain/fortran install ############################## # gcc-all fuer die shared libs und zum einpacken # 2013-07-28 rebuild with ld-2.22 gcall-build20 # 2014-11-28 rebuild mit fortran gcall-build30 cd .. && mkdir gcall-build30 && cd gcall-build30 ../gcc-4_5-branch/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++,objc,obj-c++,java,fortran \ --disable-multilib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --disable-bootstrap \ --with-system-zlib make ulimit -s 32768 make -k check # dauert 2 - 3 Std. ../gcc-4_5-branch/contrib/test_summary | grep -A7 Summ. === g++ Summary === # of expected passes 22706 # of expected failures 151 # of unsupported tests 118 /sources/gcall-build/gcc/testsuite/g++/../../g++ version 4.5.4 (GCC) === gcc Summary === # of expected passes 62519 # of unexpected failures 1 # of unexpected successes 1 # of expected failures 165 # of unsupported tests 553 /sources/gcall-build/gcc/xgcc version 4.5.4 (GCC) === obj-c++ Summary === # of expected passes 440 # of expected failures 3 # of unresolved testcases 3 # of unsupported tests 14 /sources/gcall-build/gcc/testsuite/obj-c++/../../g++ version 4.5.4 (GCC) === objc Summary === # of expected passes 1882 # of expected failures 7 # of unsupported tests 20 /sources/gcall-build/gcc/xgcc version 4.5.4 (GCC) === libffi Summary === # of expected passes 1634 # of expected failures 10 # of unsupported tests 15 === libgomp Summary === # of expected passes 1029 gcall-build30 === libgomp Summary === # of expected passes 2558 === libjava Summary === # of expected passes 2574 === libmudflap Summary === # of expected passes 1897 # of unexpected failures 9 === libstdc++ Summary === # of expected passes 7076 # of expected failures 95 # of unsupported tests 339 === gfortran Summary === # of expected passes 34340 # of unexpected failures 24 # of expected failures 20 # of unsupported tests 146 /sources/gcall-build30/gcc/testsuite/gfortran/../../gfortran version 4.5.4 (GCC) Compiler version: 4.5.4 (GCC) Platform: i486-pc-linux-gnu ############################# make DESTDIR=/public/toolchain/gcall30 install for filename in `find /public/toolchain/gcall30/usr/{bin/*,lib/*.so*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## ############################################################################# # toolchain und tools # nach dem GCC ############################################################################# export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" # 2013-07-28 rebuild with ld-2.22 # zlib 1.2.8 ./configure \ --prefix=/usr make make check *** zlib test OK *** *** zlib shared test OK *** *** zlib 64-bit test OK *** make install ################## make DESTDIR=/public/lib/z install # strip files/binarys for filename in `find /public/lib/z/usr/lib/*.so.* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############### # gmp 5.1.2 ./configure \ --prefix=/usr \ --enable-cxx \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu Version: GNU MP 5.1.2 Host type: i486-pc-linux-gnu ABI: 32 Install prefix: /usr Compiler: gcc -std=gnu99 Static libraries: yes Shared libraries: yes make make check 2>&1 | tee gmp-check-log awk '/tests passed/{total+=$2} ; END{print total}' gmp-check-log 185 make install ############################## make DESTDIR=/public/lib/gmp install for filename in `find /public/lib/gmp/usr/lib/*.so.* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## # mpfr 3.1.2 ./configure \ --prefix=/usr \ --enable-thread-safe \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check ==================== All 160 tests passed (1 test was not run) ==================== make install ############################## make DESTDIR=/public/lib/mpfr install for filename in `find /public/lib/mpfr/usr/lib/*.so.* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## # mpc 1.0.1 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check GMP: include 5.1.2, lib 5.1.2 MPFR: include 3.1.2, lib 3.1.2 MPC: include 1.0.1, lib 1.0.1 C compiler: i486-pc-linux-gnu-gcc GCC: yes GCC version: 4.5.4 PASS: tget_version =================== All 64 tests passed =================== make install ############################## make DESTDIR=/public/lib/mpc install for filename in `find /public/lib/mpc/usr/lib/*.so.* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## # attr-2.4.47 # Build im Package # acl-2.2.52 # Build im Package # sed 4.2.2 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check ====================================================== All 66 tests behaved as expected (4 expected failures) ====================================================== make install ################## make DESTDIR=/public/utils/sed install for filename in `find /public/utils/sed/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # bzip2-1.0.6 sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile make -f Makefile-libbz2_so make clean make make PREFIX=/usr install # install die shared bins cp -v bzip2-shared /usr/bin/bzip2 cp -av libbz2.so* /usr/lib ln -sfv /usr/lib/libbz2.so.1.0 /usr/lib/libbz2.so rm -v /usr/bin/{bunzip2,bzcat} cd /usr/bin ln -sfv bzip2 bunzip2 ln -sfv bzip2 bzcat ################## make install PREFIX=/public/utils/bzip2/usr cp -v bzip2-shared /public/utils/bzip2/usr/bin/bzip2 cp -av libbz2.so* /public/utils/bzip2/usr/lib cd /public/utils/bzip2/usr/lib ln -sfv libbz2.so.1.0 libbz2.so cd /public/utils/bzip2/usr/bin rm -v {bunzip2,bzcat} ln -sfv bzip2 bunzip2 ln -sfv bzip2 bzcat # strip files/binarys for filename in `find /public/utils/bzip2/usr/{bin/*,lib/*.so.*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ################## # xz-utils-5.0.5 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check ================== All 9 tests passed ================== make install ################## make DESTDIR=/public/utils/xz_utils install # strip files/binarys for filename in `find /public/utils/xz_utils/usr/{bin/*,lib/*.so.*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ################## # pkg-config 0.28 ./configure \ --prefix=/usr \ --disable-host-tool \ --with-internal-glib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check =================== All 25 tests passed =================== make install ################## make DESTDIR=/public/utils/pkg-config install # strip files/binarys for filename in `find /public/utils/pkg-config/usr/{bin/*,lib/*.so.*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ################## # ncurses 5.9-20130608 # ftp://invisible-island.net/ncurses/current/ncurses-5.9-20130608.tgz patch -Np1 -i ../02-debian-backspace.diff ./configure \ --prefix=/usr \ --with-shared \ --without-debug \ --enable-widec \ --enable-termcap \ --enable-pc-files \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.9 20130608: extended funcs: yes xterm terminfo: xterm-new bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/share/man terminfo directory: /usr/share/terminfo make make install mv -v /usr/lib/libncursesw.so.5* /lib ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so for lib in ncurses form panel menu do rm -vf /usr/lib/lib${lib}.so echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc done ln -sfv libncurses++w.a /usr/lib/libncurses++.a rm -vf /usr/lib/libcursesw.so echo "INPUT(-lncursesw)" >/usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so ln -sfv libncursesw.a /usr/lib/libcursesw.a ln -sfv libncurses.a /usr/lib/libcurses.a ################## make DESTDIR=/public/utils/ncurses install cd /public/utils/ncurses mkdir lib mv -v usr/lib/libncursesw.so.5* lib ln -sfv ../../lib/libncursesw.so.5 usr/lib/libncursesw.so for lib in ncurses form panel menu do rm -vf usr/lib/lib${lib}.so echo "INPUT(-l${lib}w)" >usr/lib/lib${lib}.so ln -sfv lib${lib}w.a usr/lib/lib${lib}.a ln -sfv ${lib}w.pc usr/lib/pkgconfig/${lib}.pc done ln -sfv libncurses++w.a usr/lib/libncurses++.a rm -vf usr/lib/libcursesw.so echo "INPUT(-lncursesw)" >usr/lib/libcursesw.so ln -sfv libncurses.so usr/lib/libcurses.so ln -sfv libncursesw.a usr/lib/libcursesw.a ln -sfv libncurses.a usr/lib/libcurses.a ################## fuer die alte ncurses lib make distclean ./configure \ --prefix=/usr \ --with-shared \ --without-normal \ --without-debug \ --without-cxx-binding \ --enable-termcap \ --without-xterm-new \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu ** Configuration summary for NCURSES 5.9 20130608: extended funcs: yes xterm terminfo: xterm-old bin directory: /usr/bin lib directory: /usr/lib include directory: /usr/include man directory: /usr/share/man terminfo directory: /usr/share/terminfo make sources libs cp -av lib/lib*.so.5* /usr/lib ################# cp -av lib/lib*.so.5* /public/utils/ncurses/usr/lib ################# ################# for filename in `find /public/utils/ncurses/{lib/*,usr/{bin/*,lib/*.so.*}} -type f` do echo $filename strip -R .note -R .comment "$filename" done ################# # m4-1.4.16 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make sed -i -e '41s/ENOENT/& || errno == EINVAL/' tests/test-readlink.h make check ======================= All 115 tests passed (15 tests were not run) ======================= make install ################## make DESTDIR=/public/toolchain/m4 install for filename in `find /public/toolchain/m4/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # bison-2.7.1 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu echo '#define YYENABLE_NLS 1' >> lib/config.h make make check # 334 tests were successful. # 18 tests were skipped. make install ################## make DESTDIR=/public/toolchain/bison install for filename in `find /public/toolchain/bison/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # gettext 0.18.3 ./configure \ --prefix=/usr \ --disable-csharp \ --enable-shared \ --enable-static \ --disable-openmp \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu configure: WARNING: libacl development library was not found or not usable. configure: WARNING: gettext-tools will be built without ACL support. # spaeter neu machen, wenn acl vorhanden ist ;-) # 2013-07-29 with acl make make check Testsuite summary for ========================= # TOTAL: 178 # PASS: 163 # SKIP: 15 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 make install ######################## make DESTDIR=/public/lib/gettext install # strip files/binarys for filename in `find /public/lib/gettext/usr/{bin/*,lib/{*.so*,gettext/*}} -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################# # grep 2.14 bunzip2 -dc ../grep-2.14.de.po.bz2 >po/de.po ./configure \ --prefix=/usr \ --localedir=/usr/share/locale \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --disable-perl-regexp make make -C po update-po make check # TOTAL: 140 # PASS: 122 # SKIP: 18 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 make install ################## make DESTDIR=/public/utils/grep install for filename in `find /public/utils/grep/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ################## # readline 6.2 # ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-001 # ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-002 # ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-003 # ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-004 patch -Np0 -i ../ ./configure \ --prefix=/usr \ --libdir=/lib \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make SHLIB_LIBS=-lncurses make install mv -v /lib/lib{readline,history}.a /usr/lib rm -v /lib/lib{readline,history}.so ln -sfv ../../lib/libreadline.so.6 /usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.6 /usr/lib/libhistory.so ###################### make DESTDIR=/public/lib/readline install cd /public/lib/readline mkdir usr/lib mv -v lib/lib{readline,history}.a usr/lib rm -v lib/lib{readline,history}.so ln -sfv ../../lib/libreadline.so.6 usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.6 usr/lib/libhistory.so # strip files/binarys for filename in `find /public/lib/readline/lib/*.so.* -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # bash 4.2 # http://www.linuxfromscratch.org/patches/downloads/bash/bash-4.2-fixes-12.patch patch -Np1 -i ../ ./configure \ --prefix=/usr \ --bindir=/bin \ --without-bash-malloc \ --with-installed-readline \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make chown -Rv nobody . su-tools nobody -s /bin/bash -c "make tests" make install exec /bin/bash --login +h #################################### make DESTDIR=/public/utils/bash install # strip files/binarys for filename in `find /public/utils/bash/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ##################################### # libtool 2.4.2 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check # dauert etwas 102 tests behaved as expected. 24 tests were skipped. make install ########################### make DESTDIR=/public/lib/ltdl install for filename in `find /public/lib/ltdl/usr/{bin/*,lib/*.so.*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # gdbm 1.10 # build siehe database/gdbm/_ADMIN/binaries_howto/build_libgdbm.txt # db 5.3.12 # build siehe database/berkeley/_ADMIN/binaries_howto/build_libdb.txt # perl 5.16.2 # build siehe plang/perl/_ADMIN/binaries_howto/build_perl_5_16_2.txt # autoconf 2.69 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check # dauert etwas lange 457 tests behaved as expected. 46 tests were skipped. make install ################## make DESTDIR=/public/toolchain/autoconf install for filename in `find /public/toolchain/autoconf/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # automake 1.12.6 # korrekt /etc/localtime /usr/sbin/zic -l CET # lokalzone setzen TZ='Europe/Berlin'; export TZ ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check # dauert etwas lange ca. 2 Std. ========================================= Testsuite summary for GNU Automake 1.12.6 ========================================= # TOTAL: 2825 # PASS: 2641 # SKIP: 141 # XFAIL: 38 # FAIL: 5 -> Zeitzone nicht gesetzt :-( # XPASS: 0 # ERROR: 0 make install ################## make DESTDIR=/public/toolchain/automake install for filename in `find /public/toolchain/autoconf/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################### # gawk 4.0.2 # build siehe base/gawk/_ADMIN/binaries_howto/build_gawk.txt # indent 2.2.10 # build im package # flex 2.5.37 patch -Np1 -i ../flex-2.5.37-bison-2.6.1-1.patch ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu # doc build im Makefile abschalten checking for indent... indent configure: WARNING: no indent program found: make indent target will not function make make check # Tests succeeded: 46 # Tests FAILED: 0 make install ln -sfv libfl.a /usr/lib/libl.a cat > /usr/bin/lex << "EOF" #!/bin/sh # Begin /usr/bin/lex exec /usr/bin/flex -l "$@" # End /usr/bin/lex EOF chmod -v 755 /usr/bin/lex ################### make DESTDIR=/public/toolchain/flex install cd /public/toolchain/flex/ ln -sfv libfl.a usr/lib/libl.a cat > usr/bin/lex << "EOF" #!/bin/sh # Begin /usr/bin/lex exec /usr/bin/flex -l "$@" # End /usr/bin/lex EOF chmod -v 755 usr/bin/lex for filename in `find /public/toolchain/flex/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ##################### # gzip 1.5 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check # TOTAL: 12 # PASS: 11 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 /source/gzip-1.5/zless: line 56: less: command not found + echo FAIL: zless FAIL: zless 'less' ist hier noch nicht vorhanden make install ################## make DESTDIR=/public/utils/gzip install # strip files/binarys for filename in `find /public/utils/gzip/usr/{bin/*,lib/*.so.*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ################## # Make-3.82 http://www.linuxfromscratch.org/patches/downloads/make/make-3.82-upstream_fixes-3.patch ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check as root :-( su - root make check 428 Tests in 105 Categories Complete ... No Failures :-) make install ################################ make DESTDIR=/public/toolchain/make install for filename in `find /public/toolchain/make/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## # patch-2.7.1 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu # configure: WARNING: libattr development library was not found or not usable. # configure: WARNING: GNU patch will be built without xattr support. # neu machen wenn attr vorhanden # 2013-07-29 rebuild with attr make make check ===================================================== All 33 tests behaved as expected (1 expected failure) (1 test was not run) ===================================================== XFAIL: dash-o-append make install ################################# make DESTDIR=/public/toolchain/patch install for filename in `find /public/toolchain/patch/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## # 2013-07-24 patch with attr ################################# make DESTDIR=/public/toolchain/patch-attr install for filename in `find /public/toolchain/patch-attr/usr/bin/* -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## # tar 1.2.6 FORCE_UNSAFE_CONFIGURE=1 \ ./configure \ --prefix=/usr \ --libexecdir=/usr/sbin \ --datadir=/usr/share \ --enable-backup-scripts \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check 107 tests were successful. 14 tests were skipped. make install ###################### make DESTDIR=/public/utils/tar install # strip files/binarys for filename in `find /public/utils/tar/usr/{bin/*,sbin/*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ########################## # texinfo 5.1 # 2013-07-25 rollback texinfo-4.13 ./configure \ --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make check # pass make install make TEXMF=/usr/share/texmf install-tex ############################## make DESTDIR=/public/toolchain/texinfo install make TEXMF=/public/toolchain/texinfo/usr/share/texmf install-tex for filename in `find /public/toolchain/texinfo/usr/{bin/*,sbin/*} -type f` do echo $filename strip -R .note -R .comment "$filename" done ############################## gcc, gcj, objc, fortran separieren und zusammenpacken cd /public/toolchain find objc -type f -name '*' >objc-files find gcc -type f -name '*' >gcc-files find gcj -type f -name '*' >gcj-files find fortran -type f -name '*' >fortran-files sed -i 's#^gcc/##' gcc-files sed -i 's#^gcj/##' gcj-files sed -i 's#^objc/##' objc-files sed -i 's#^fortran/##' fortran-files diff gcc-files objc-files | grep -v '<' >objc-diff-files diff gcc-files gcj-files | grep -v '<' >gcj-diff-files diff gcc-files fortran-files | grep -v '<' >fortran-diff-files grep '>' objc-diff-files | sed 's#> ##' >objc-files-def grep '>' gcj-diff-files | sed 's#> ##' >gcj-files-def grep '>' fortran-diff-files | sed 's#> ##' >fortran-files-def cd gcall30 tar -r -f ../gcj.tar -T ../gcj-files-def tar -r -f ../gcobjc.tar -T ../objc-files-def tar -r -f ../gcc.tar -T ../gcc-files tar -r -f ../fortran.tar -T ../fortran-files-def cd .. xz -z gcc.tar xz -z gcobjc.tar xz -z gcj.tar xz -z fortran.tar