Compilation errors building gcc on mipsel
Kai Ruottu
kai.ruottu@wippies.com
Wed Mar 12 10:54:00 GMT 2014
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.
More information about the Gcc-help
mailing list