bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Porting to mips64el


From: Andreas Enge
Subject: Re: Porting to mips64el
Date: Wed, 20 Feb 2013 10:30:24 +0100
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

Am Dienstag, 19. Februar 2013 schrieb Andreas Enge:
> I think it might be enough to add the following configure flags:
>    --with-arch=mips64 -with-abi=64

Unfortunately, it failed after some compilation time with

make[2]: Leaving directory `/tmp/nix-build-gcc-cross-
boot0-4.7.2.drv-0/build/gcc'
Checking multilib configuration for libgcc...
mkdir -p -- mips64el-guix-linux-gnu/libgcc
Configuring in mips64el-guix-linux-gnu/libgcc
configure: creating cache ./config.cache
checking build system type... mips64el-unknown-linux-gnu
checking host system type... mips64el-guix-linux-gnu
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... 
/nix/store/n76w1w24p7llqxayqg2nhf69cx2fwqx9-bootstrap-
binaries-0/bin/install -c
checking for gawk... gawk
checking for mips64el-guix-linux-gnu-ar... mips64el-guix-linux-gnu-ar
checking for mips64el-guix-linux-gnu-lipo... mips64el-guix-linux-gnu-lipo
checking for mips64el-guix-linux-gnu-nm... /tmp/nix-build-gcc-cross-
boot0-4.7.2.drv-0/build/./gcc/nm
checking for mips64el-guix-linux-gnu-ranlib... mips64el-guix-linux-gnu-
ranlib
checking for mips64el-guix-linux-gnu-strip... mips64el-guix-linux-gnu-strip
checking whether ln -s works... yes
checking for mips64el-guix-linux-gnu-gcc... /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   
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /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    accepts -g... yes
checking for /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    option to accept ISO C89... unsupported
checking how to run the C preprocessor... /lib/cpp
configure: error: in `/tmp/nix-build-gcc-cross-
boot0-4.7.2.drv-0/build/mips64el-guix-linux-gnu/libgcc':
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory `/tmp/nix-build-gcc-cross-
boot0-4.7.2.drv-0/build'
make: *** [all] Error 2
phase `build' failed after 7571 seconds
builder for `/nix/store/aw84x050w59la6a5y7zxr5jymq2xcnbk-gcc-cross-
boot0-4.7.2.drv' failed with exit code 1

Then everything just hangs. Unfortunately, I forgot the "-K" parameter and 
thus lost config.log.

My guess would be that gcc compiled correctly in 64 bit mode, but that the 
configure for libgcc relies on the 32 bit cpp of the system instead of its 
own.

In libgcc/configure, there is a line
   for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
(as well as in the other lib* subdirectories); maybe this needs to be 
patched? Or something else is missing for cross-compiling?

Strangely, a new run of "guix-build hello" starts by building linux-libre-
headers instead of gcc-cross-boot0.

Andreas



reply via email to

[Prev in Thread] Current Thread [Next in Thread]