【发布时间】:2017-02-28 07:26:04
【问题描述】:
我有一个关于如何在不同机器上使用新建 GLIBC 的问题。
我更改了 malloc 代码并编译了本地版本的 glibc 来自:/home/1/glibc/puzzlebox/
Configure:**/eglibc-2.15/configure --prefix=/home/1/glibc/puzzlebox/lib32/ --host=i686-linux-gnu --build=i686-linux-gnu CC="gcc -m32 -g -ggdb -DMALLOC_DEBUG=1 -U__i686" CXX="g++ -m32 -g -ggdb -DMALLOC_DEBUG=1 -U __i686" CFLAGS="-O2 -march=i686 -U_FORTIFY_SOURCE -fno-stack-protector" CXXFLAGS="-O2 -march=i686 -U_FORTIFY_SOURCE -fno-stack-protector"
Make and install**: make clean;make;make install
由于我的前缀是 /home/1/glibc/puzzlebox/lib32/ ,因此在 /home/1/glibc/puzzlebox/lib32/ 下创建了以下目录
bin 等包含 lib libexec sbin 共享
现在我将库文件 /home/1/glibc/puzzlebox/lib32/lib/* 复制到另一个存储库 /home/2/glibc/puzzlebox/lib32/lib
并指出我的 gcc 使用 /home/2/glibc/puzzlebox/lib32/lib/* 文件中的库文件
但是从
编译时出现以下错误ld: cannot find /home/1/glibc/puzzlebox/lib32/lib/libc.so.6 inside
ld: cannot find /home/1/glibc/puzzlebox/lib32/lib/libc_nonshared.a inside
ld: cannot find /home/1/glibc/puzzlebox/lib32/lib/ld-linux.so.2 inside
collect2: error: ld returned 1 exit status
我在 /home/2 存储库上编译,但我的 glibc 需要 /home/1/glibc/puzzlebox/lib32/lib/libc.so.6
这是因为静态链接吗?如何克服?我如何构建一个可以在存储库之间使用的 glibc,而无需在每个存储库中重新构建?而且我不想覆盖已经存在的 glibc,所以我使用前缀作为 /usr
请推荐!!提前致谢!!
【问题讨论】:
标签: glibc