使用不同的glibc版本

时间:2012-05-25 16:18:15

标签: python glibc epoll

目前我有不支持epoll的glibc,所以我在支持epoll的非默认lation上安装了新的glibc。我有使用这个epoll的python程序。

我尝试设置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时,我得到了

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而不是默认的?

2 个答案:

答案 0 :(得分:1)

您需要使用动态链接器的显式调用,如下所示:

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

(但是GLIBC_2.4符号版本不可用的事实表明新glibc出现了一些问题,或者它实际上并不是很新的,早于glibc 2.4。)

答案 1 :(得分:0)

如果你自己编译glibc,你应该在build目录中有testrun.sh脚本。这比使用ld-linux.so更简单,更可靠:

build/testrun.sh ls