From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Initial cross-compilation support Date: Thu, 28 Mar 2013 14:38:07 +0100 Message-ID: <878v57r6f4.fsf@gnu.org> References: <87txoxv7x9.fsf@gnu.org> <201303031726.08488.andreas@enge.fr> <8738wcyxs7.fsf@gnu.org> <87wqsrrho3.fsf@karetnikov.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:55109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULD28-00043V-L3 for bug-guix@gnu.org; Thu, 28 Mar 2013 09:38:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ULD22-0004Z4-8H for bug-guix@gnu.org; Thu, 28 Mar 2013 09:38:24 -0400 Received: from [2a01:e0b:1:123:ca0a:a9ff:fe03:271e] (port=47266 helo=xanadu.aquilenet.fr) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ULD22-0004T7-1R for bug-guix@gnu.org; Thu, 28 Mar 2013 09:38:18 -0400 In-Reply-To: <87wqsrrho3.fsf@karetnikov.org> (Nikita Karetnikov's message of "Thu, 28 Mar 2013 13:35:08 +0400") 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: Nikita Karetnikov Cc: bug-guix@gnu.org Nikita Karetnikov skribis: > I tried to add > > "--with-arch=3Dmips64" > "--with-abi=3D64" > > to '#:configure-flags' of 'cross-gcc'. It failed: So it=E2=80=99s glibc that fails to build, but the initial =E2=80=9Csans li= bc=E2=80=9D cross-compiler is correctly built. > /nix/store/g9js73bwv1fl92h1nnf50vf1619irnxf-gcc-cross-sans-libc-mips64el-= linux-gnu-4.7.2/libexec/gcc/mips64el-linux-gnu/ld: /nix/store/g9js73bwv1fl9= 2h1nnf50vf1619irnxf-gcc-cross-sans-libc-mips64el-linux-gnu-4.7.2/lib/gcc/mi= ps64el-linux-gnu/4.7.2/libgcc.a(_fpcmp_parts_tf.o): ABI is incompatible wit= h that of the selected emulation This may indicate that glibc was built for N32, whereas libgcc & co. were built for N64. Can you run =E2=80=98file=E2=80=99 on libgcc.a (or one of the .o files it c= ontains)? Can you check in the glibc log whether a -mabi flag is passed? You may need to explicitly add -mabi=3D64 for glibc. It should be possible to do it with something like: #:configure-flags '("CFLAGS=3D-mabi=3D64 -g -O2") HTH, Ludo=E2=80=99.