2012-05-25 10 views
7

Derzeit habe ich Glibc, die nicht unterstützt Epoll, so habe ich neue Glibc bei nicht Standard-llation, die Epoll unterstützt installiert. Ich habe Python-Programm, das dieses Epoll verwendet.Verwenden Sie verschiedene Glibc-Version

Ich versuchte LD_LIBRARY_PATH

export LD_LIBRARY_PATH="/home/glibc/lib:$LD_LIBRARY_PATH"

dann laufe ich ls, es gab mir Fehler

ls: /home/glibc/lib/tls/libc.so.6: version 'GLIBC_2.4' not found (required by /lib/libpam.so.0)

ls: /home/glibc/lib/tls/libc.so.6: version 'GLIBC_2.4' not found (required by /lib/libpam_misc.so.0)

Auch zu setzen, wenn ich Python zu laufen versuchte, bekam ich

python: relocation error: /home/glibc/lib/tls/libc.so.6: symbol _dl_out_of_memory, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference

Wie kann ich neu installierte Glibc anstelle von Standard verwenden?

+0

http://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host –

Antwort

0

Sie benötigen einen expliziten Aufruf des dynamischen Linken zu verwenden, so etwas wie diese:

/home/glibc/lib/ld-linux-x86-64.so.2 --library-path /home/glibc/lib /usr/bin/python 

(Aber die Tatsache, dass die GLIBC_2.4 Symbol Version nicht vorhanden ist schlägt vor, dass etwas mit dem neuen glibc sehr falsch oder es ist überhaupt nicht sehr neu, vor glibc 2.4.)

0

Wenn Sie glibc selbst kompiliert haben, sollten Sie testrun.sh-Skript in Ihrem Build-Verzeichnis haben. Das ist einfacher und zuverlässiger als mit ld-linux.so:

build/testrun.sh ls 
Verwandte Themen