在CentOS 6.4 64位系统上,我正在尝试构建一个32位版本的GLIBC (2.18)。使用yum,我在/lib中安装了GCC库的32位版本。我在构建时使用一个名为GLIBC32的目录。经过试验和研究,我决定了以下几种选择:
-前缀=/usr/local/lib32 32--exec-前缀=/usr/local/bin32--build=i 686-pc-linux-gnu CC="gcc -m32“CXX="gxx -m32”
很多构建都是成功的,除了SUNRPC组件似乎需要对象(crt1.o)和由构建创建的库。如果我有GLIBC库对象,SUNRPC想要,我就不需要构建库了!
*如果我停止并将crt1.o复制到/lib中,那么构建就会抱怨libc.so。如有任何建议请见谅。THANKS*
gcc /home/oracle/tmp/glibc32/sunrpc/cross-rpc_main.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_hout.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_cout.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_parse.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_scan.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_util.o / -m32 /home/oracle/tmp/glibc32 32//home/oracle/tmp/glibc32/sunrpc/cross-rpc_clntout.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_tblout.o /home/oracle/tmp/glibc32/sunrpc/cross-rpc_sample.o -o /home/oracle/tmp/glibc32 32/sunrpc/交叉rpcgen
/usr/bin/ ld : crt1.o:无此类文件或目录directory`**/home/oracle/tmp/glibc-2.18‘:collect2: ld返回1退出状态make2:* /home/oracle/tmp/glibc32 32/sunrpc/交叉rpcgen错误1 make2:离开目录 make1:* sunrpc/others 2 make1: exit directory`**/home/oracle/tmp/glibc-2.18’make:* all Error 2
以下是/lib的内容
甲骨文@qawebtech glibc32 32美元ls -l /lib
共计156
drwxr-xr-x。3根4096,10月18日19:53
是的。10月14日19:53 cpp -> ./usr/bin/cpp
drwxr-xr-x。3根4096 Oct 18 19:57
drwxr-xr-x。43根根4096 Oct 18 20:21固件
drwxr-xr-x。6根4096 10月18日19:56公里
-rwxr-xr-x1根根120672 2013年2月21日libgcc_s-4.4.7-20120601.so.1
是的。根28 10月28日26 00:39 libgcc_s.so.1 -> libgcc_s-4.4.7-20120601.so.1
drwxr-xr-x。2根4096 Oct 18 19:57
dr-xr-xr-x。4根根4096 Oct 18 20:20模块
drwxr-xr-x。2根根4096 2013年2月21日安全
drwxr-xr-x。6根4096 Oct 18 19:52
drwxr-xr-x。5根4096 Oct 26 03:49 udev
发布于 2013-10-29 16:36:38
另一种不那么痛苦的方法可以获得Centos 6.4的32位库。您可以从Centos存储库(http://mirror.centos.org)下载http://mirror.centos.orgRPM。然后使用rpm将它们安装到一个新的根中。一旦您有了库文件,将它们移动到/lib中,您的32位应用程序将能够找到它们。您可能需要手动修复一些链接。有关将RPM下载到新根目录的详细信息,请参阅此链接。
如何为Centos建造一个chroot监狱
GLIBC并不是真正建立在已经存在的系统之上的,除非您正在交叉编译。
https://stackoverflow.com/questions/19641019
复制相似问题