Click here to Skip to main content
15,887,214 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi,
I have successfully cross-compiled a program on an x86-64 machine. However, when I try to run on my target machine sh4a, I get the following error:
./ioq3ded.sh4a: /lib/libc.so.6: version `GLIBC_2.11' not found (required by ./ioq3ded.sh4a)

The details of the two machines are as follows:
Compiling machine
architecture: x86-64
LIBC version: 2.11

Executing mechine
architecture: sh4a
LIBC version: 2.5

Programming Language is C

Therefore, as a solution, I tried to compile a 2.11 LIBC library on the sh4a machine. However, it failed because the GCC compiler on the sh4a machine was too old, I don't have the authority, nor is there a possibility for upgrading the GCC.
Furthermore, as an alternative solution, I tried to compile a 2.5 LIBC library on the x86-64 so I can link to them during cross-compilation time. However, the ./configure failed because there were missing required objects.
Moreover, I tried to -static compile the program. However, it failed:
As for ioquake3, I tried to statically build it:
/bin/ld: /r/home7/usr/lib/libc.a(dl-tsd.o): TLS local exec code cannot be linked into shared objects
It seems impossible to statically build it with the old version of gcc we have.
I looked up this problem:
https://bugs.gentoo.org/show_bug.cgi?id=122665

Moreover, I downloaded the LIBC 2.5 for x86-64 from the net:
http://rpm.pbone.net/index.php3/stat/4/idpl/12884473/dir/startcom_5/com/glibc-2.5-34.x86_64.rpm.html[^]

However, I cannot seem to find the right flags for compiling so that it links against MY specific (2.5 version library) rather than the system ones (2.11 version library).

Here comes my question:
* What should be the "make" flags be? considering that the folder where MY (2.5 version library) is:
./glibc-2_5/lib64/libc.so
And, my make is as follows:
make USE_LOCAL_HEADERS=0 ARCH=sh4a CFLAGS='-fopenmp -Wall -D_GNU_SOURCE=1 -D_REENTRANT' USE_VOIP=0 BUILD_CLIENT=0 BUILD_MISSIONPACK=0
Posted
Updated 5-Dec-12 14:52pm
v3
Comments
coffeenet 5-Dec-12 20:52pm    
Bump!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900