I'm trying to compile glibc-2.16 statically for x64 system,
../configure --enable-kernel=2.6.9 --prefix=/run/shm/libc-static-64 --enable-static --enable-shared --host=i486-linux-gnu --build=i486-linux-gnu -q
Then I got:
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: sed
*** some features will be disabled.
*** Check the INSTALL file for required versions.
configure: error: the assembler must support TLS
In config.log I saw:
configure:354: checking for i386 TLS support
configure:376: gcc -c -g -O2 conftest.s 1>&5
conftest.s: Assembler messages:
conftest.s:8: Error: @TLSLDM reloc is not supported with 64-bit output format
conftest.s:8: Error: junk `@TLSLDM' after expression
conftest.s:9: Error: relocated field and relocation type differ in signedness
conftest.s:10: Error: relocated field and relocation type differ in signedness
conftest.s:11: Error: relocated field and relocation type differ in signedness
conftest.s:12: Error: @GOTNTPOFF reloc is not supported with 64-bit output format
conftest.s:12: Error: junk `@GOTNTPOFF' after expression
conftest.s:14: Error: @NTPOFF reloc is not supported with 64-bit output format
conftest.s:14: Error: junk `@NTPOFF' after expression
configure:379: $? = 1
configure:387: result: no
configure:390: error: the assembler must support TLS
Did I pass in wrong parameters?
glibc
just can't be compiled as a static library. At least not all of it. – vonbrand Mar 3 '14 at 2:29sed
before continuing. Make very sure all build requirements are satisfied. And check the build instructions carefully, they aren't trivial nor typical. – vonbrand Mar 3 '14 at 2:30