0

在 CentOS 6.4 64 位系统上,我正在尝试构建 32 位版本的 GLIBC (2.18)。使用 yum,我在 /lib 中安装了 32 位版本的 GCC 库。我使用名为 GLIBC32 的目录进行构建。经过试验和研究,我确定了以下选项:

--prefix=/usr/local/lib32 --exec-prefix=/usr/local/bin32 --build=i686-pc-linux-gnu CC="gcc -m32" CXX="gxx -m32"

除了 SUNRPC 组件似乎需要由构建创建的对象 (crt1.o) 和库外,很多构建都是成功的。如果我有 SUNRPC 想要的 GLIBC 库对象,我就不需要构建库了!!!!

*如果我停止并将 crt1.o 复制到 /lib 中,则构建会抱怨 libc.so。任何建议表示赞赏。谢谢*

gcc -m32 /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 / home/oracle/tmp/glibc32/sunrpc/cross-rpc_svcout.o /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/sunrpc/cross-rpcgen
/usr/bin/ld: crt1.o: No such file: No such file or directory collect2 : ld 返回 1 退出状态 make[2]: * [/home/oracle/tmp/glibc32/sunrpc/cross-rpcgen] 错误 1 ​​make[2]: Leaving directory /home/oracle/tmp/glibc-2.18/sunrpc' make[1]: *** [sunrpc/others] Error 2 make[1]: Leaving directory/home/oracle/tmp/glibc-2.18' make: *[全部] 错误 2

这是/lib的内容

[oracle@qawebtech glibc32]$ ls -l /lib
总共 156 个
drwxr-xr-x。3 根 4096 Oct 18 19:53 alsa
lrwxrwxrwx。1 根 18 年 10 月 14 日 19:53 cpp -> ../usr/bin/cpp
drwxr-xr-x。3 根根 4096 Oct 18 19:57 crda
drwxr-xr-x。43 root root 4096 Oct 18 20:21 固件
drwxr-xr-x。6 根 4096 Oct 18 19:56 kbd
-rwxr-xr-x。1 个根 120672 2013 年 2 月 21 日 libgcc_s-4.4.7-20120601.so.1 lrwxrwxrwx
。1 根 28 Oct 26 00:39 libgcc_s.so.1 -> libgcc_s-4.4.7-20120601.so.1
drwxr-xr-x。2 根根 4096 Oct 18 19:57 lsb
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 terminfo
drwxr-xr-x。5 根根 4096 Oct 26 03:49 udev

4

1 回答 1

0

还有另一种不那么痛苦的方法来获取 Centos 6.4 的 32 位库。您可以从 Centos 存储库 ( http://mirror.centos.org ) 下载 i386 RPM。然后使用 rpm 将它们安装到新的根目录中。获得库文件后,将它们移动到 /lib 中,您的 32 位应用程序将能够找到它们。您可能必须手动修复某些链接。有关将 RPM 下载到新根目录的详细信息,请参阅此链接。

如何为 Centos 建立一个 chroot 监狱

除非您进行交叉编译,否则 GLIBC 并没有真正建立在现有系统上。

于 2013-10-29T16:36:38.953 回答