2017-02-28 76 views
0

我在這裏有一個問題,關於如何在不同的機器上使用新建的GLIBC。Glibc配置標誌重用新安裝的glibc

我改變的malloc代碼和編譯的glibc 的本地版本,從:/家庭/ 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/

斌等包括LIB的libexec sbin目錄份額

現在我複製庫文件的/ home/1/glibc的/ puzzlebox/LIB32/lib目錄/ *到另一個存儲庫/ home/2/gli BC/puzzlebox/LIB32/lib目錄

和編譯時指着我的GCC從/家/ 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庫compilicc,但我的glibc的要求/home/1/glibc/puzzlebox/lib32/lib/libc.so.6

這是因爲靜態鏈接?這怎麼能克服?我如何構建一個可以在庫之間使用的glibc,而無需在每個庫中重新構建?我不想覆蓋已經存在的glibc,所以我用前綴作爲/ usr

請建議!!提前致謝!!

回答

1

這是因爲靜態鏈接?

號的最可能的原因是/home/2/glibc/puzzlebox/lib32/lib/libc.so(這是一個鏈接腳本,即文本文件)具有/home/1/glibc/puzzlebox/lib32/lib/libc.so.6等在它。

您可以編輯該文件,但真的應該--prefix=/foo除非那就是你打算安裝編譯GLIBC。

+0

非常感謝,我改變了路徑,我需要準確地安裝..工作很好...... – Clobbered