Am Mittwoch, 20. Februar 2013 schrieb Ludovic Courtès: > How exactly did you modify gcc-boot0?
For the time being, I simply hard-coded two additional configure flags: diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5c39ec3..25e07bc 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -705,6 +705,10 @@ identifier SYSTEM." ;; No libc yet. "--without-headers" + ;; special options for mips64 + "--with-arch=mips64" + "--with-abi=64" + ;; Disable features not needed at this stage. The problem is apparently in the bootstrap glibc, which does not contain the 64 bit headers. config.log shows that the freshly compiled xgcc does not compile a file, with the following error message: configure:3792: /tmp/nix-build-gcc-cross-boot0-4.7.2.drv-0/build/./gcc/xgcc -B/tmp/nix-build-gcc-cross-boot0-4.7.2.drv-0/build/./gcc/ - B/nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross- boot0-4.7.2/mips64el-guix-linux-gnu/bin/ - B/nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross- boot0-4.7.2/mips64el-guix-linux-gnu/lib/ -isystem /nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-boot0-4.7.2/mips64el- guix-linux-gnu/include -isystem /nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-boot0-4.7.2/mips64el- guix-linux-gnu/sys-include -c -g -O2 -minterlink-mips16 conftest.c >&5 In file included from /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc- bootstrap-0/include/features.h:399:0, from /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc- bootstrap-0/include/stdio.h:27, from conftest.c:10: /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc- bootstrap-0/include/gnu/stubs.h:23:33: fatal error: gnu/stubs-n64_hard.h: No such file or directory The file /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc- bootstrap-0/include/gnu/stubs.h tries to include stubs-n64_hard.h ("hard" standing for "hard float"); but there is only a stubs-n32_hard.h in the directory. If I understand things correctly, we need a new set of bootstrap binaries, compiled with CFLAGS="-march=mips64 -mabi=64" Could you maybe provide some, Nikita? Or am I mistaken? glibc also provides the option "--enable-multi-arch", to have 32 and 64 bit libraries on the same system. But then first the binutils need to provide several flavours of programs, and this looks like a much more difficult approach. Andreas