我有一个需要安装glibc-2.18的二进制文件,但是使用yum
可以得到的最新版本是2.17。我想要完成的是仅使用built glibc-2.18(未安装,从我的阅读中得知,手动执行此操作是一个坏主意)来测试我的二进制文件。我阅读了多篇有关LD_LIBRARY_PATH
及其设置方法的文章,但是其中大多数对我来说都不完整,或者出现错误,例如sed: relocation error
。
关于glibc及其构建方法:下载版本,解压缩,将/build
文件夹放在解压缩的文件夹中,然后从中运行../configure --prefix=/usr
。最后,在同一文件夹中,make
。
有人可以提供有关如何使用内置库运行二进制文件的分步说明吗?
我想要完成的是仅使用内置的glibc-2.18(未安装,从我的阅读中得知,手动执行此操作是个坏主意)来测试我的二进制文件。
这是运行make check
时GLIBC本身所做的事情:
/build/elf/ld.so --library-path /build:/build/elf:/build/math:/build/nptl:... /path/to/binary
说明:从ld.so
运行/build
,并要求其从/build
及其子目录加载GLIBC的其他部分。
这适用于大多数程序,但是当以这种方式调用时,某些类的程序将无法工作。后一种类别中的一个示例是execve()
本身的程序。