在 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