2012-05-25 4 views
7

В настоящее время у меня есть glibc, который не поддерживает epoll, поэтому я установил новый glibc для не умолчанию lation, который поддерживает epoll. У меня есть программа python, которая использует этот epoll.использовать разные версии glibc

Я попытался установить LD_LIBRARY_PATH

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

тогда я бег Ls, он дал мне ошибку

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)

Кроме того, когда я попытался запустить питон я получил

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

Как использовать недавно установленный glibc вместо стандартного?

+0

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

ответ

0

Вы должны использовать явный вызов динамического компоновщика, так что-то вроде этого:

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

(но тот факт, что версия GLIBC_2.4 символа не доступна означает, что что-то очень неправильно с новым Glibc , или это на самом деле совсем не совсем новое, предшествует glibc 2.4.)

0

Если вы скомпилировали glibc самостоятельно, у вас должен быть скрипт testrun.sh в каталоге сборки. Это проще и надежнее, чем при использовании Ld-linux.so:

build/testrun.sh ls