This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Compilation errors building gcc on mipsel
- From: Kai Ruottu <kai dot ruottu at wippies dot com>
- To: Harry Prevor <habs at sdf dot org>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Wed, 12 Mar 2014 10:11:05 +0200
- Subject: Re: Compilation errors building gcc on mipsel
- Authentication-results: sourceware.org; auth=none
- References: <20140311235106 dot GB381 at SDF dot ORG>
12.3.2014 1:51, Harry Prevor kirjoitti:
I'm trying to build gcc-4.8.2 (just the C and C++ compilers) on a mips64el laptop (Lemote Yeeloong) running Debian's mips32el port.
I made a gcc-build/ directory outside of the source tree and ran "../gcc-4.8.2/configure --prefix=/usr/local --disable-nls --enable-languages=c,c++ mips-unknown-linux-gnu" in it.
I started the make and it was going well for a few hours, but then I got this error[1] (rather long; see the bottom).
What I think is the relevant portion of the error is reproduced below:
/usr/bin/ld: emutls_s.o: ABI is incompatible with that of the selected emulation
/usr/bin/ld: failed to merge target specific data of file emutls_s.o
/usr/bin/ld: /usr/lib/libc.a(abort.o): compiled for a little endian system and target is big endian
/usr/bin/ld: /usr/lib/libc.a(abort.o): endianness incompatible with that of the selected emulation
/usr/bin/ld: failed to merge target specific data of file /usr/lib/libc.a(abort.o)
What can I do to remedy / debug this?
The 'mips' type targets are big-endian, 'mipsel' type targets
little-endian, so when you define the host/target being
'mips-unknown-linux-gnu'
and don't the configure script to check what the system is, you got just
what you seemed to want! So if you had left this away and had
configured with :
../gcc-4.8.2/configure --prefix=/usr/local --disable-nls --enable-languages=c,c++
you probably had succeeded...
Ok, you can check what the configury system would tell your system being
via running :
./config.guess
in the main gcc-4.8.2 source directory.