所以我正在 Cygwin 中构建 GCC 4.6.0,但我遇到了困难。我尝试从与 gcc-4.6.0 目录同一级别的构建目录配置 gcc 我得到了:
配置:错误:在`/usr/local/contrib/gcc-build/gcc'中: 配置:错误:C++ 预处理器“/lib/cpp”未通过健全性检查 有关更多详细信息,请参阅“config.log”。 make[2]: *** [configure-stage1-gcc] 错误 1 make[2]: 离开目录 `/usr/local/contrib/gcc-build' make[1]: *** [stage1-bubble] 错误 2 make[1]: 离开目录 `/usr/local/contrib/gcc-build' make: *** [全部] 错误 2
我检查了 config.log,内容如下:
conftest.c:在函数“main”中: conftest.c:16:错误:“choke”未声明(在此函数中首次使用) conftest.c:16:错误:(每个未声明的标识符对于它出现的每个函数仅报告一次。) conftest.c:16:错误:在“me”之前解析错误
这个错误是什么意思?我可以做什么来修复它?
tl;dr - 首先,有一个关于此的 Wikia 页面(也刚刚对其进行了修改)。如果您尝试构建 C++ 编译器(通常使用“--enable-languages=c,c++”),请确保您已安装 gcc-g++ 软件包!如果没有它,您的构建将会像您所看到的那样失败。
编辑 2:不久前成功构建 GCC 4.6.0(C 和 C++ 目标)后,我修改了 Wikia 页面。
首先,您的帖子有点旧,所以如果您弄清楚了,请告诉我们!
您使用哪组指令来构建这个?我正在使用 this wiki page 自己解决这个问题,并且我遇到了同样的问题。您是否查看了正在构建的文件夹中的 config.log 文件?它说什么出了什么问题?对我来说,它缺少 *ppl_c.h*,我现在正在尝试查找它,并且我还反复收到“无法执行'cc1plus'”错误。因为这是配置,其中一些可能是正常的 - 也许全部都是正常的(失败的检查可能仅仅意味着将使用替代方法)。接下来我打算尝试 4.3.0,看看 that 是否有效以及 config.log 的比较情况。
编辑1:安装gcc-g++!这将清除 cc1plus 障碍。
我的设置,仅供记录(注意:我的主机操作系统是 Windows 7 x64):
我使用的核心 Cygwin 软件包是最新的(非实验性的):
$ cygcheck -c bash binutils bzip2 gcc-core gcc-java gzip m4 make unzip zip
Cygwin Package Information
Package Version Status
bash 4.1.10-4 OK
binutils 2.20.51-2 OK
bzip2 1.0.6-1 OK
gcc-core 3.4.4-999 OK
gcc-g++ 3.4.4-999 OK
gzip 1.4-1 OK
m4 1.4.16-1 OK
make 3.81-2 OK
unzip 6.0-10 OK
zip 3.0-11 OK
我特别为 GCC 提供的软件包,按照构建和安装的顺序:
gmp-5.0.2
mpfr-3.0.1
mpc-0.9
gcc-4.6.0 (trying to build "c,c++" targets only)
路径设置正确(至少按照上面的说明):
LD_LIBRARY_PATH=/usr/local/lib
LIBRARY_PATH=/usr/local/lib
CPATH=/usr/local/include
我在 cygwin 中遇到了这个问题。有多个版本的 gcc 即。海湾合作委员会和海湾合作委员会-4。卸载了后者。问题为我解决了!
我使用的是CentOS 5,以上建议无法解决问题。 Ian Lance Taylor 我的解决方法:
make all-gcc
make install-gcc