From 0c77a0996eaf110e78dbfab1b3bb4945433eaf81 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 24 Feb 2018 18:07:14 +0100 Subject: finished stage2 (but for syslinux) --- .Attic/README.old_stage2 | 151 ----------------------------------------------- 1 file changed, 151 deletions(-) (limited to '.Attic') diff --git a/.Attic/README.old_stage2 b/.Attic/README.old_stage2 index 5b3becf..6e7fc69 100644 --- a/.Attic/README.old_stage2 +++ b/.Attic/README.old_stage2 @@ -39,157 +39,6 @@ sed -i '/configure.ac/ a \ sed -i "s@\\(unit_SOURCES.*\\)@#\\1@g" Makefile.am' sed -i '/configure.ac/ a \ sed -i "s@\\(check_PROGRAMS*\\)@#\\1@g" Makefile.am' dejagnu/PKGBUILD sed -i '/Makefile.am/ a \ autoreconf' dejagnu/PKGBUILD -# TODO: gcc -##### -TODO: -sed -i 's@^makedepends\(.*\)@#makedepends\1@g' binutils/PKGBUILD -sed -i 's@^checkdepends\(.*\)@#checkdepends\1@g' binutils/PKGBUILD -sed -i 's@^depends\(.*\)@#depends\1@g' binutils/PKGBUILD - -# gcc -##### -# no gcc-ada and doxygen -sed -i '/makedepend/ s/gcc-ada //g' gcc/PKGBUILD -sed -i '/makedepend/ s/doxygen //g' gcc/PKGBUILD -# avoid huge git checkouts -sed -i 's@git+https://gcc.gnu.org/git/gcc.git.*@ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz@' gcc/PKGBUILD -sed -i 's@cd gcc$@cd ${pkgname}-${pkgver}@g' gcc/PKGBUILD -sed -i 's@$srcdir/gcc/configure@$srcdir/${pkgname}-${pkgver}/configure@g' gcc/PKGBUILD -# we don't have a working C++ compiler right now, be must bootstrap -# doesn't work, we need c++ sind 4.8! -#sed -i '/--enable-shared/ a \ --enable-bootstrap \\' gcc/PKGBUILD -# remove ADA, we don't have (and will most likely never have a GNAT binary to -# bootstrap ADA itself), on the other hand, there is nothing using ADA anyway. -# at least not in packages/community -sed -i '/pkgname/ s/gcc-ada//g' gcc/PKGBUILD -sed -i '/enable-languages/ s/ada//g' gcc/PKGBUILD -# send bugs to the right place -sed -i 's@https://bugs.archlinux.org/@https://bugs.archlinux32.org/@g' gcc/PKGBUILD -# so, I don't know what GNU people call bootstrapping, but this definitely isn't for C! -/usr/include/c++/7.2.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory -=> let's try to fix the C++ compiler then.. -# this is really really dangerous, let's hope, it works -=> find /usr/include/c++/7.2.0 -type f -exec sed -i 's/#include_next/#include/g' {} \; -# /build/gcc/src/gcc-7.2.0/libgo/testsuite/gotest: line 624: 28445 Killed ./a.out -test.short -test.timeout=${timeout}s "$@" -=> ok, enough, go without testing -==> Starting package_gcc-go()... -make: *** i486-pc-linux-gnu/libgo: No such file or directory. Stop. -==> ERROR: A failure occurred in package_gcc-go(). - Aborting... -=> fails, oh well, nobody needs go :-) - - -why the hell, I switched off c++, so wy are still cpp probes being done!? -/lib/cpp hardcoded, seriosly!! -# in prepare() -ln -s ../bin/cpp /home/cross/x-tools/i486-unknown-linux-gnu/lib/cpp -find . -name configure -exec sed -i 's@/lib/cpp@/home/cross/x-tools/i486-unknown-linux-gnu/bin/cpp@g' {} \; - -since 4.8 gcc is written in C++, fine. so we have to have a crosstool-ng C++ or -=> we add C++ to the crosstool-ng toolchain, easier and more secure - - included from /home/cross/build/gcc/src/gcc-7.2.0/gcc/genmddeps.c:19:0: -/home/cross/build/gcc/src/gcc-7.2.0/gcc/system.h:540:34: error: declaration of C function ‘const cha -r* strsignal(int)’ conflicts with - extern const char *strsignal (int); - ^ -In file included from /usr/include/c++/4.8.2/cstring:42:0, - from /home/cross/build/gcc/src/gcc-7.2.0/gcc/system.h:235, - from /home/cross/build/gcc/src/gcc-7.2.0/gcc/genmddeps.c:19: -/usr/include/string.h:562:14: error: previous declaration ‘char* strsignal(int)’ here - extern char *strsignal (int __sig) __THROW; ^ -In file included from ./bconfig.h:5:0, -=> so, we get to an end here, c++ is taken from the host while cross-compiling?! --> remove glibc-devel on the host! --> draw the g++ link, autoconf fails in gcc in funny ways (not finding uint64_t) --> carefull, we build a gcc over a crossng-gcc, not sure, this is supported.. --> aha. if mpfr, mpc and gmp are not installed and taken from sysroot but from i486-root - some pathes get messed up. - -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82590 -https://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg550065.html -https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=54692 - -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65863 --> huh? -https://gcc.gnu.org/ml/gcc-help/2016-06/msg00016.html -- > yes, this is the inicatition I needed, mpfr, gmp and mpc point to a weird location - -The stage one compiler doesn't find the shared library, o well: -/home/cross/build/gcc/src/gcc-build/./gcc/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory --> export LD_LIBRARY_PATH=/home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/lib - -And it never ends: -In file included from /home/cross/build/gcc/src/gcc-7.2.0/libgcc/libgcc2.c:27:0: -/home/cross/build/gcc/src/gcc-7.2.0/libgcc/../gcc/tsystem.h:87:10: fatal error: stdio.h: No such file or directory - #include - ^~~~~~~~~ -compilation terminated. -make[2]: *** [Makefile:491: _muldi3.o] Error 1 --> https://gcc.gnu.org/ml/gcc-help/2012-04/msg00088.html --> so, let's try giving it a --with-sysroot to the crosstool-ng dirs --> and this means also it got past stage 1 compilers :-) - -/home/cross/x-tools/i486-unknown-linux-gnu/lib/gcc/i486-unknown-linux-gnu/4.9.4/../../../../i486-unknown-linux-gnu/bin/ld: /home/cross/build/gcc/src/gcc-build/./gcc/liblto_plugin.so: error loading plugin: /home/cross/build/gcc/src/gcc-build/./gcc/liblto_plugin.so: wrong ELF class: ELFCLASS32 -collect2: error: ld returned 1 exit status -make[2]: *** [Makefile:982: libgcc_s.so] Error 1 -=> for now, remove LTO stuff in PKGBUILD - -make: *** i486-unknown-linux-gnu/libstdc++-v3/doc: No such file or directory. Stop. -==> ERROR: A failure occurred in build(). - Aborting... -=> remove the PKGBUILD line # make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man -libstdc++-v3/ -=> # make documentation - #make -C $CHOST/libstdc++-v3/doc doc-man-doxygen - -install: failed to access ‘/home/cross/build/gcc/pkg/gcc/usr/lib/gcc/i486-unknown-linux-gnu/7.2.0/’: No such file or directory -=> gcc auto-probed itself into i486-pc-linux-gnu, so the installed files are there -CHOST="i486-pc-linux-gnu" -make: Leaving directory '/home/cross/build/gcc/src/gcc-build/gcc' -install: failed to access ‘/home/cross/build/gcc/pkg/gcc/usr/lib/gcc/i486-unknown-linux-gnu/7.2.0/’: No such file or directory -=> sweet, let's try a symlink - -_libdir=usr/lib/gcc/$CHOST/$pkgver -=> hard-code: to _libdir=usr/lib/gcc/i486-pc-linux-gnu/$pkgver -=> nope, now others break -this is hardly the ArchLinux way: vanilla and upstream - -again CHOST set to i486-pc-linux-gnu -=> this package is a disaster! -=> we have a mess with two CHOSTS, one for crosstool-ng (unknown) and - one for our chroot - -# remove traces of ADA - rm "$pkgdir"/usr/share/info/{gccgo,gfortran.info} - -# rm: cannot remove ‘/home/cross/build/gcc/pkg/gcc/usr/share/info/gccgo’: No such file or directory -# rm "$pkgdir"/usr/share/info/{gccgo,gfortran.info} - -/home/cross/x-tools/i486-unknown-linux-gnu/lib/gcc/i486-unknown-linux-gnu/4.9.4/../../../../i486-unknown-linux-gnu/bin/ld: cannot find -lquadmath -collect2: error: ld returned 1 exit status -libtool: install: error: relink `libgfortran.la' with the above command before installing it -make: *** [Makefile:1331: install-toolexeclibLTLIBRARIES] Error 1 -make: Leaving directory '/home/cross/build/gcc/src/gcc-build/i486-unknown-linux-gnu/libgfortran' -==> ERROR: A failure occurred in package_gcc-libs(). - Aborting... -=> libquadmath must be retooled before libfortran -=> nope libfortran simply fails to relink => remove it - -install: cannot stat ‘/home/cross/build/gcc/src/gcc/COPYING.RUNTIME’: No such file or directory -=> sweet, remove it - -error: failed to commit transaction (conflicting files) -gcc: /home/cross/i486-root/usr/lib/libstdc++.a exists in filesystem (owned by gcc-libs) -gcc: /home/cross/i486-root/usr/lib/libstdc++.la exists in filesystem (owned by gcc-libs) -Errors occurred, no packages were upgraded. -=> well, force the package - -test.c:1:10: fatal error: stdio.h: No such file or directory - - -# END TODO: gcc - # glibc ####### # use 2.25 version, not 2.26. Keep the ABI intact! -- cgit v1.2.3-54-g00ecf