[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: |
Efraim Flashner |
Subject: |
Re: 23/33: gnu: commencement: gcc-boot0: Build fix for the Hurd. |
Date: |
Wed, 11 Mar 2020 15:14:53 +0000 |
User-agent: |
K-9 Mail for Android |
On March 11, 2020 2:27:37 PM UTC, Jan Nieuwenhuizen <address@hidden> wrote:
>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
>
If you're using gcc-7 as the bootstrap gcc for the Hurd then IMO you should go
ahead and either use gcc-7 or gcc for the libstdc++-boot0
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.