【发布时间】:2015-12-14 13:58:56
【问题描述】:
我在 VMWare 映像中从 64 位 PC (AMD64) desktop image 安装了 Ubuntu 15.04 64 位(我在 win7 64 位下),并尝试在其上构建 gcc 5.2。在配置步骤中,我遇到了一些错误,例如:
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status
我猜它们与 32 位库的明显缺失有关。同样,使用 ubuntus g++ 和 -m32 选项编译会导致
/usr/include/c++/4.9/iostream:38:28: fatal error: bits/c++config.h: No such file or directory
#include <bits/c++config.h>
寻找 c++config.h 给了我这个:
/usr/include/x86_64-linux-gnu/c++/4.9/bits/c++config.h
我怀疑这 32 个库安装错误,因为我有一个文件夹 /usr/lib32,只有这个:
xx@xx-ubuntu1504vm:/usr/lib32$ ls -l
total 1372
drwxr-xr-x 2 root root 12288 août 20 11:00 gconv
lrwxrwxrwx 1 root root 14 mars 6 2015 libform.so.5 -> libform.so.5.9
-rw-r--r-- 1 root root 68012 mars 6 2015 libform.so.5.9
-rw-r--r-- 1 root root 112708 avril 15 04:06 libgcc_s.so.1
lrwxrwxrwx 1 root root 14 mars 6 2015 libmenu.so.5 -> libmenu.so.5.9
-rw-r--r-- 1 root root 34548 mars 6 2015 libmenu.so.5.9
lrwxrwxrwx 1 root root 15 mars 6 2015 libpanel.so.5 -> libpanel.so.5.9
-rw-r--r-- 1 root root 13584 mars 6 2015 libpanel.so.5.9
lrwxrwxrwx 1 root root 19 avril 14 22:15 libstdc++.so.6 -> libstdc++.so.6.0.20
-rw-r--r-- 1 root root 975360 avril 14 22:51 libstdc++.so.6.0.20
lrwxrwxrwx 1 root root 13 mars 6 2015 libtic.so.5 -> libtic.so.5.9
-rw-r--r-- 1 root root 63160 mars 6 2015 libtic.so.5.9
lrwxrwxrwx 1 root root 13 oct. 27 2014 libz.so.1 -> libz.so.1.2.8
-rw-r--r-- 1 root root 108080 oct. 27 2014 libz.so.1.2.8
在里面。
我能做什么?
【问题讨论】:
-
google 的关键字是 multiarch。
-
@MarcGlisse 那么,
amd64(我的 ubuntu 架构)和x86_64-apple-darwin14.5.0(我的 mac os x 架构)之间有什么区别,这说明如果我跟随你,我需要构建 gcc在 ubuntu 下使用--enable-multiarch,在 mac os yosemite 下没有它能够编译针对 32 位架构的代码? -
苹果不关心空间,他们乐于安装很胖的东西。 Ubuntu 认为你的硬盘应该避免无用的东西。如果您想使用 32 位(为什么?),您可以启用 multiarch 并在您的系统上安装 32 位软件包。如果你想要一个 64 位的 gcc,你可以使用 --disable-multilib 构建。
-
@MarcGlisse 好的,这是有道理的。 (我对这一切都很陌生。)启用 multiarch 对您来说究竟意味着什么?至于安装 32 位软件包,据我所知,据我所知,在 ubuntu 15.04 中没有“犹太洁食”方式。
标签: ubuntu gcc virtual-machine 32bit-64bit ubuntu-15.04