[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 23/33: gnu: commencement: gcc-boot0: Build fix for the Hurd.
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 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Jan Nieuwenhuizen writes:
> Efraim Flashner writes:
>
>> On Tue, Mar 10, 2020 at 10:13:37AM +0100, Ludovic Courtès wrote:
>>> address@hidden skribis:
>>>
>>> > commit 7a57ca758c590742b63100944f07fddb7290f797
>>> > Author: Jan Nieuwenhuizen <address@hidden>
>>> > 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 <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com