【问题标题】:Error compiling the compiler GCC编译编译器 GCC 时出错
【发布时间】:2012-01-28 21:48:18
【问题描述】:

我知道,编译编译器很讽刺。但我需要这个编译器的特定版本,而 CentOS 5.x 存储库没有最新版本的 GCC。

我需要的版本是4.3.2,但我只有4.1.1。

我按照本教程安装了 gcc http://www.mjmwired.net/resources/mjm-fedora-gcc.html,并在配置时(编译前)使用了以下参数:

/root/gcc/gcc-4.3.6/configure --prefix=/opt/gcc43 --program-suffix=43 --enable-languages=c,c++ --enable-shared --enable-threads= posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --disable-multilib

最后一个选项--disable-multilib 保存我在之前的编译尝试中遇到的另一个错误(经过长时间的编译......)

我还设置了一个环境变量,因为在之前的尝试中,我得到了错误,所以我设置如下:

export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib:$LD_LIBRARY_PATH

确保编译器在该目录中搜索 mpfr 和 gmp 库(需要)

所以,我执行'make'命令。

我虽然一切正常,因为这次花费了更多时间(在我设置该变量之前的最后一次尝试中,我花了大约 2 个小时编译)

我在 Amazon Web Services 中使用了一个 Micro 实例,这个实例只有 1 个单核 x86_64 处理器和 613 MB 的 RAM,因此编译大约需要 9 小时。

不幸的是,我又遇到了错误!!,现在我得到了这个:

make[2]: Entering directory `/root/gcc/build'
make[3]: Entering directory `/root/gcc/build'
rm -f stage_current
make[3]: Leaving directory `/root/gcc/build'
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./gcc.o differs
./varasm.o differs
./except.o differs
./i386.o differs
make[2]: *** [compare] Error 1
make[2]: Leaving directory `/root/gcc/build'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/root/gcc/build'
make: *** [all] Error 2

有什么建议吗?

【问题讨论】:

  • “我知道,编译编译器很讽刺。”技术术语是 bootstrapping 而不是讽刺。

标签: gcc makefile centos centos5 gcc4


【解决方案1】:

您可能在两次尝试之间没有正确清理。执行make distclean 并重试。对不起。

【讨论】:

  • “引导”在 distclean 之后工作,但是,我发现这是浪费时间,因为我使用了错误版本的 CentOS,而且我还找到了包含我需要的软件包的存储库。无论如何,我更愿意说我学到了一些东西。
【解决方案2】:

您可能可以获取 .src.rpm,例如Fedora 16 并在其上执行 rpmbuild ---rebuild。如果有任何时髦的 Red Hat / CentOS / Fedora 标志需要担心,那应该可以解决。 (我假设您想要的版本还没有 EPEL RPM?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多