Re: [lfs-dev] Multilib patch
A web search for my GCC-internal zlib config error configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES turned up, amongst others, these two, the first of which results from an LFS build ! https://stackoverflow.com/questions/46487529/crosscompiling-gcc-link-tests-are-not-allowed-after-gcc-no-executables-when-che https://github.com/easybuilders/easybuild-easyconfigs/issues/3964 The second of those suggests that it may be the lack of a "multilib capable" toolchain ON THE HOST that is the issue for me? With that in mind, I'm coming back to my original remarks about rebuidling in that: the way I last "upgraded" an x86_64 LFS to have multilib capibilty was by following one of DJ's old books, wherein things were effectively done in these stages: x86_64 host -> x86_64 LFS-tools x86_64 LFS-tools -> x86_64 LFS x86_64 LFS -> Multilib LFS-tools components Multilib LFS-tools -> Multilib LFS components Indeed, after the Binutills pass1 now, the only file in /tools/bin are x86_64-lfs-linux-gnu-addr2line x86_64-lfs-linux-gnu-nm x86_64-lfs-linux-gnu-ar x86_64-lfs-linux-gnu-objcopy x86_64-lfs-linux-gnu-as x86_64-lfs-linux-gnu-objdump x86_64-lfs-linux-gnu-c++filtx86_64-lfs-linux-gnu-ranlib x86_64-lfs-linux-gnu-elfeditx86_64-lfs-linux-gnu-readelf x86_64-lfs-linux-gnu-gprof x86_64-lfs-linux-gnu-size x86_64-lfs-linux-gnu-ld x86_64-lfs-linux-gnu-strings x86_64-lfs-linux-gnu-ld.bfd x86_64-lfs-linux-gnu-strip suggesting that any non-x86_64 stuff has to come from the host ? Then again, you've stated that your sucessful build came from an non-multilib host. FYI, my host (Ubuntu 1404 - yes. old, yes) has Binutils: (GNU Binutils for Ubuntu) 2.24 gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4 (Ubuntu EGLIBC 2.19-0ubuntu6.14) 2.19 so is a little diferent to what the Multilib book suggests things have been tested against, bis: Binutils-2.25 (Versions greater than 2.31.1 are not recommended as they have not been tested) GCC-4.9 including the C++ compiler, g++ (Versions greater than 8.2.0 are not recommended as they have not been tested) Glibc-2.11 (Versions greater than 2.28 are not recommended as they have not been tested) I think I may find the best way forwards to be one in which I build an non-Multilib LFS 8-3 and then use that to boostrap the Multilib one, as that would give me a "host" with Binutils-2.31.1 GCC-8.2.0 Glibc-2.28 Just out of interest then, what are the Binutils, GCC, Glibc versions on the "non-multilib" host that your Multilib buils suceeds ? -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Multilib patch
Hi Kevin, Am Samstag, den 05.01.2019, 18:56 +0800 schrieb Kevin Buckley via lfs- dev: > ... > > Failed at the second hurdle. > > The first GCC pass gets as far, in the `make`, as building the included zlib > and, whilst configuring that, ends with > Adding multilib support to Makefile in ../../zlib > multidirs=32 x32 > with_multisubdir= > Running configure in multilib subdirs 32 x32 > pwd: /home/lfs/gcc-8.2.0/build/zlib > Running configure in multilib subdir 32 > pwd: /home/lfs/gcc-8.2.0/build > mkdir 32 > configure: creating cache ./config.cache > checking build system type... x86_64-pc-linux-gnu > checking host system type... x86_64-pc-linux-gnu > checking target system type... x86_64-lfs-linux-gnu > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for x86_64-pc-linux-gnu-strip... no > checking for strip... strip > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to enable maintainer-specific portions of Makefiles... no > checking for x86_64-pc-linux-gnu-gcc... gcc -m32 > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc -m32 accepts -g... yes > checking for gcc -m32 option to accept ISO C89... unsupported > checking for style of include used by make... GNU > checking dependency style of gcc -m32... gcc3 > checking how to print strings... printf > checking for a sed that does not truncate output... /bin/sed > checking for grep that handles long lines and -e... /bin/grep > checking for egrep... /bin/grep -E > checking for fgrep... /bin/grep -F > checking for ld used by gcc -m32... ld -m elf_x86_64 > checking if the linker (ld -m elf_x86_64) is GNU ld... yes > checking for BSD- or MS-compatible name lister (nm)... nm > checking the name lister (nm) interface... BSD nm > checking whether ln -s works... yes > checking the maximum length of command line arguments... 3458764513820540925 > checking whether the shell understands some XSI constructs... yes > checking whether the shell understands "+="... yes > checking for ld -m elf_x86_64 option to reload object files... -r > checking for x86_64-pc-linux-gnu-objdump... objdump > checking how to recognize dependent libraries... pass_all > checking for x86_64-pc-linux-gnu-ar... ar > checking for x86_64-pc-linux-gnu-strip... strip > checking for x86_64-pc-linux-gnu-ranlib... ranlib > checking command to parse nm output from gcc -m32 object... failed > checking how to run the C preprocessor... /lib/cpp > checking for ANSI C header files... no > checking for sys/types.h... no > checking for sys/stat.h... no > checking for stdlib.h... no > checking for string.h... no > checking for memory.h... no > checking for strings.h... no > checking for inttypes.h... no > checking for stdint.h... no > checking for unistd.h... no > checking for dlfcn.h... no > checking for objdir... .libs > checking if gcc -m32 supports -fno-rtti -fno-exceptions... no > checking for gcc -m32 option to produce PIC... -fPIC -DPIC > checking if gcc -m32 PIC flag -fPIC -DPIC works... yes > checking if gcc -m32 static flag -static works... no > checking if gcc -m32 supports -c -o file.o... yes > checking if gcc -m32 supports -c -o file.o... (cached) yes > checking whether the gcc -m32 linker (ld -m elf_x86_64 -m elf_i386) > supports shared libraries... yes > checking dynamic linker characteristics... configure: error: Link > tests are not allowed after GCC_NO_EXECUTABLES. > make[1]: *** [configure-zlib] Error 1 > make[1]: Leaving directory `/media/sda5/home-lfs/gcc-8.2.0/build' > make: *** [all] Error 2 > > > Has my applying the Multilib patch not done all it should - it applied cleanly > as I noted above. If it applied cleanly, then it should have touched everything needed. Strange enough - i cannot reproduce this issue, just did a build on a non-multilib host and it goes fine (so far, now at gcc-pass2 in chap- 5). Can you have a look into the config.log file - maybe there is something more informative? -- Thomas -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Multilib patch
On Thu, 3 Jan 2019 at 16:21, DJ Lucas via lfs-dev wrote: > > On January 2, 2019 6:55:52 AM CST, Kevin Buckley via lfs-dev wrote: > > > ... > >Looks like I will have to go back to a full redeployment though, as I > >see that > >the Chapter 5 utilities now have some 32-bit stuff in, whereas my > >modified 8.3 > >Chapter 5 didn't. > > > > Yeah, doing the build inline is certainly better from a maintenance POV. It > adds a couple of extra builds, but the reduced maintenance burden (which > should ultimately result in an increase in accuracy being the instructions > are on the same page), far outweighs the minimal cumulative SBU increase. > Thomas's patch likely doesn't require much if any manual intervention. > Failed at the second hurdle. The first GCC pass gets as far, in the `make`, as building the included zlib and, whilst configuring that, ends with Adding multilib support to Makefile in ../../zlib multidirs=32 x32 with_multisubdir= Running configure in multilib subdirs 32 x32 pwd: /home/lfs/gcc-8.2.0/build/zlib Running configure in multilib subdir 32 pwd: /home/lfs/gcc-8.2.0/build mkdir 32 configure: creating cache ./config.cache checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-lfs-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for x86_64-pc-linux-gnu-strip... no checking for strip... strip checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for x86_64-pc-linux-gnu-gcc... gcc -m32 checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc -m32 accepts -g... yes checking for gcc -m32 option to accept ISO C89... unsupported checking for style of include used by make... GNU checking dependency style of gcc -m32... gcc3 checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc -m32... ld -m elf_x86_64 checking if the linker (ld -m elf_x86_64) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... nm checking the name lister (nm) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 3458764513820540925 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking for ld -m elf_x86_64 option to reload object files... -r checking for x86_64-pc-linux-gnu-objdump... objdump checking how to recognize dependent libraries... pass_all checking for x86_64-pc-linux-gnu-ar... ar checking for x86_64-pc-linux-gnu-strip... strip checking for x86_64-pc-linux-gnu-ranlib... ranlib checking command to parse nm output from gcc -m32 object... failed checking how to run the C preprocessor... /lib/cpp checking for ANSI C header files... no checking for sys/types.h... no checking for sys/stat.h... no checking for stdlib.h... no checking for string.h... no checking for memory.h... no checking for strings.h... no checking for inttypes.h... no checking for stdint.h... no checking for unistd.h... no checking for dlfcn.h... no checking for objdir... .libs checking if gcc -m32 supports -fno-rtti -fno-exceptions... no checking for gcc -m32 option to produce PIC... -fPIC -DPIC checking if gcc -m32 PIC flag -fPIC -DPIC works... yes checking if gcc -m32 static flag -static works... no checking if gcc -m32 supports -c -o file.o... yes checking if gcc -m32 supports -c -o file.o... (cached) yes checking whether the gcc -m32 linker (ld -m elf_x86_64 -m elf_i386) supports shared libraries... yes checking dynamic linker characteristics... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES. make[1]: *** [configure-zlib] Error 1 make[1]: Leaving directory `/media/sda5/home-lfs/gcc-8.2.0/build' make: *** [all] Error 2 Has my applying the Multilib patch not done all it should - it applied cleanly as I noted above. -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page