how to link with old versions of glibc?

Paul Zimmermann Paul.Zimmermann@inria.fr
Tue May 26 13:40:02 GMT 2020


       Hi again,

in fact I found myself an answer to my question, from
https://stackoverflow.com/questions/2856438/how-can-i-link-to-a-specific-glibc-version,
but it requires to do "make install" to some install directory:

zimmerma@tomate:/tmp/src-FixCRlibm$ cat test_glibc.sh 
#!/usr/bin/env bash
set -eux
glibc_install=/localdisk/zimmerma/glibc-2.28/install
gcc -Wall -Wextra -O0 -DUSE_LIBM \
  -L "${glibc_install}/lib" \
  -I "${glibc_install}/include" \
  -Wl,--rpath="${glibc_install}/lib" \
  -Wl,--dynamic-linker="${glibc_install}/lib/ld-linux-x86-64.so.2" \
  main.c dummy.o -lm
ldd a.out
./a.out

zimmerma@tomate:/tmp/src-FixCRlibm$ ./test_glibc.sh 
+ glibc_install=/localdisk/zimmerma/glibc-2.28/install
+ gcc -Wall -Wextra -O0 -DUSE_LIBM -L /localdisk/zimmerma/glibc-2.28/install/lib -I /localdisk/zimmerma/glibc-2.28/install/include -Wl,--rpath=/localdisk/zimmerma/glibc-2.28/install/lib -Wl,--dynamic-linker=/localdisk/zimmerma/glibc-2.28/install/lib/ld-linux-x86-64.so.2 main.c dummy.o -lm
+ ldd a.out
	linux-vdso.so.1 (0x00007ffc83dec000)
	libm.so.6 => /localdisk/zimmerma/glibc-2.28/install/lib/libm.so.6 (0x00007ff8e36e7000)
	libc.so.6 => /localdisk/zimmerma/glibc-2.28/install/lib/libc.so.6 (0x00007ff8e352e000)
	/localdisk/zimmerma/glibc-2.28/install/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007ff8f387f000)
+ ./a.out
GNU libc version: 2.28
GNU libc release: stable
Validity tests on worst cases: 3538/3861
...

This might be useful to add on https://sourceware.org/glibc/wiki/Testing/Builds#Compile_against_glibc_build_tree.

Best regards,
Paul


More information about the Libc-help mailing list