Jan Nieuwenhuizen writes: > Efraim Flashner writes: > >> On Tue, Mar 10, 2020 at 10:13:37AM +0100, Ludovic Courtès wrote: >>> [email protected] skribis: >>> >>> > commit 7a57ca758c590742b63100944f07fddb7290f797 >>> > Author: Jan Nieuwenhuizen <[email protected]> >>> > AuthorDate: Sun Mar 1 13:45:42 2020 +0100 >>> > >>> > gnu: commencement: gcc-boot0: Build fix for the Hurd. >>> > >>> > Fixes: >>> > g++ -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE >>> > -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall >>> > -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute >>> > -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros >>> > -Wno-overlength-strings -DHAVE_CONFIG_H -DGENERATOR_FILE -fno-PIE >>> > -static-libstdc++ -static-libgcc >>> > -Wl,-rpath=/gnu/store/vp2id82a597p119b3wyhhkhd467wvn78-glibc-bootstrap-0/lib >>> > -Wl,-dynamic-linker -Wl,/gnu/store/vp2id82a597p119b3w [...] >>> > build/genmddeps.o build/read-md.o build/errors.o >>> > ../build-i586-unknown-gnu/libiberty/libiberty.a >>> > >>> > /gnu/store/jk3kx5jwjs9m60svzk6sz79bf0w33l91-binutils-cross-boot0-2.34/bin/ld: >>> > build/read-md.o: in function `md_reader::~md_reader()': >>> > >>> > /tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/build/gcc/../../gcc-7.5.0/gcc/read-md.c:1049: >>> > undefined reference to `operator delete(void*, unsigned int)' >>> > >>> > This raises the question: Should libstdc++-boot0 (v4.9) be sufficient >>> > to build >>> > gcc-boot0 (v7.5.0)? >>> >>> Hmm? :-) >>> >>> > * gnu/packages/commencement.scm (gcc-boot0): Add static library path. >>> >>> > `(,(string-append "LDFLAGS=" >>> > + (if ,(hurd-system?) >>> > + (string-append >>> > + "-L" (assoc-ref %build-inputs >>> > "gcc") "/lib ") >>> > + "") >>> >>> Could you add a comment saying that this is to allow the ‘delete’ >>> operator to be found? Weird.
OK! Yes, I'm reverting to this scenario. I'm afraid some shared library doesn't get built and that that's where it usually finds `delete'. >>> That’s it, thanks for the great work! > > ... I agree, however trying without this and Efraim's patch instead first. > >> With the bootstrapping efforts going around there's a couple of patches >> floating around to change the gcc version for libstdc++-boot0. I've >> tested the following patch, which also prepares the way for any other >> future supported platforms. > > That looks nice; thanks -- I have added i586-gnu and am trying if that > works for me. Well, Marius already convinced you it was a bad idea; but sadly it didn't work for my hurd problem; I got --8<---------------cut here---------------start------------->8--- libtool: compile: g++ -I/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build/include/ -I/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build/include -I/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/libstdc++-v3/libsupc++ -fPIC -DPIC -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=compatibility-condvar.lo -std=gnu++11 -c ../../libstdc++-v3/src/c++11/compatibility-condvar.cc -fPIC -DPIC -D_GLIBCXX_SHARED -o .libs/compatibility-condvar.o libtool: compile: g++ -I/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build/include/ -I/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build/include -I/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/libstdc++-v3/libsupc++ -fPIC -DPIC -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=compatibility-condvar.lo -std=gnu++11 -c ../../libstdc++-v3/src/c++11/compatibility-condvar.cc -o compatibility-condvar.o >/dev/null 2>&1 make[3]: *** No rule to make target '../src/c++98/libc++98convenience.la', needed by 'libstdc++.la'. Stop. make[3]: Leaving directory '/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build/src' make[2]: *** [Makefile:637: all-recursive] Error 1 make[2]: Leaving directory '/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build/src' make[1]: *** [Makefile:507: all-recursive] Error 1 make[1]: Leaving directory '/tmp/guix-build-libstdc++-boot0-5.5.0.drv-0/gcc-5.5.0/build' make: *** [Makefile:414: all] Error 2 command "make" "-j" "1" failed with status 2 --8<---------------cut here---------------end--------------->8--- another terrible error. We could use some glibc and gcc developers helping with out bootstrap, packaging and cross builds! janneke -- Jan Nieuwenhuizen <[email protected]> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
