From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: Porting to mips64el Date: Wed, 20 Feb 2013 10:30:24 +0100 Message-ID: <201302201030.24076.andreas@enge.fr> References: <8738yvnslh.fsf@karetnikov.org> <87ehgcz1lb.fsf@gnu.org> <201302191920.21591.andreas@enge.fr> Mime-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:47849) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U860i-0002ZS-Bd for bug-guix@gnu.org; Wed, 20 Feb 2013 04:30:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U860e-0002Da-9s for bug-guix@gnu.org; Wed, 20 Feb 2013 04:30:44 -0500 In-Reply-To: <201302191920.21591.andreas@enge.fr> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: bug-guix@gnu.org 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