From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: Re: 23/33: gnu: commencement: gcc-boot0: Build fix for the Hurd. Date: Wed, 11 Mar 2020 15:27:37 +0100 Message-ID: <87lfo7t19i.fsf@gnu.org> References: <20200310075832.7126.86402@vcs0.savannah.gnu.org> <20200310075850.035F02125B@vcs0.savannah.gnu.org> <87imjcwp1a.fsf@gnu.org> <20200310091810.GT1423@E5400> <87fteg2u56.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45035) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jC2Kj-0007gx-Uv for guix-devel@gnu.org; Wed, 11 Mar 2020 10:27:43 -0400 In-Reply-To: <87fteg2u56.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Tue, 10 Mar 2020 14:53:41 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: Efraim Flashner Cc: guix-devel@gnu.org Jan Nieuwenhuizen writes: > Efraim Flashner writes: > >> On Tue, Mar 10, 2020 at 10:13:37AM +0100, Ludovic Court=C3=A8s wrote: >>> guix-commits@gnu.org skribis: >>>=20 >>> > commit 7a57ca758c590742b63100944f07fddb7290f797 >>> > Author: Jan Nieuwenhuizen >>> > AuthorDate: Sun Mar 1 13:45:42 2020 +0100 >>> > >>> > gnu: commencement: gcc-boot0: Build fix for the Hurd. >>> >=20=20=20=20=20 >>> > Fixes: >>> > g++ -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exc= eptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwr= ite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pe= dantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE= _CONFIG_H -DGENERATOR_FILE -fno-PIE -static-libstdc++ -static-libgcc -Wl,-r= path=3D/gnu/store/vp2id82a597p119b3wyhhkhd467wvn78-glibc-bootstrap-0/lib -W= l,-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-bo= ot0-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/../../g= cc-7.5.0/gcc/read-md.c:1049: undefined reference to `operator delete(void*,= unsigned int)' >>> >=20=20=20=20=20 >>> > This raises the question: Should libstdc++-boot0 (v4.9) be suffic= ient to build >>> > gcc-boot0 (v7.5.0)? >>>=20 >>> Hmm? :-) >>>=20 >>> > * gnu/packages/commencement.scm (gcc-boot0): Add static library p= ath. >>>=20 >>> > `(,(string-append "LDFLAGS=3D" >>> > + (if ,(hurd-system?) >>> > + (string-append >>> > + "-L" (assoc-ref %build-inputs = "gcc") "/lib ") >>> > + "") >>>=20 >>> Could you add a comment saying that this is to allow the =E2=80=98delet= e=E2=80=99 >>> 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=E2=80=99s 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/libst= dc++-v3/libsupc++ -fPIC -DPIC -fno-implicit-templates -Wall -Wextra -Wwrite= -strings -Wcast-qual -Wabi -fdiagnostics-show-location=3Donce -ffunction-se= ctions -fdata-sections -frandom-seed=3Dcompatibility-condvar.lo -std=3Dgnu+= +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/libst= dc++-v3/libsupc++ -fPIC -DPIC -fno-implicit-templates -Wall -Wextra -Wwrite= -strings -Wcast-qual -Wabi -fdiagnostics-show-location=3Donce -ffunction-se= ctions -fdata-sections -frandom-seed=3Dcompatibility-condvar.lo -std=3Dgnu+= +11 -c ../../libstdc++-v3/src/c++11/compatibility-condvar.cc -o compatibili= ty-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 --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com