Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译编译器GCC时出错_Gcc_Makefile_Centos_Centos5_Gcc4 - Fatal编程技术网

编译编译器GCC时出错

编译编译器GCC时出错,gcc,makefile,centos,centos5,gcc4,Gcc,Makefile,Centos,Centos5,Gcc4,我知道,编译编译器是件很讽刺的事。但是我需要这个编译器的特定版本,CentOS 5.x存储库没有最新版本的GCC 我需要的版本是4.3.2,但我只有4.1.1 我按照本教程安装了gcc,并在configure(编译之前)使用了以下参数: /root /gcc/gcc-4.3.6/CONTRONTION/OPT/GCC43程序后缀= 43——使语言= C,C++——启用共享-启用线程= POSIX禁用检查-使用系统ZLIB启用-O-XCXAYATEXCELL禁用LyBunWrand例外-禁用Mul

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

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

我按照本教程安装了gcc,并在configure(编译之前)使用了以下参数:

/root /gcc/gcc-4.3.6/CONTRONTION/OPT/GCC43程序后缀= 43——使语言= C,C++——启用共享-启用线程= POSIX禁用检查-使用系统ZLIB启用-O-XCXAYATEXCELL禁用LyBunWrand例外-禁用MuliLIB < /P> 最后一个选项

--禁用multilib
将我保存为在以前的编译尝试中遇到的另一个错误(在长时间编译之后…)

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

export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib:$LD_LIBRARY_PATH
确保编译器在该目录中搜索mpfr和gmp库(这是必需的)

因此,我执行“make”命令

我觉得一切都没问题,因为这段时间花了更多的时间(在设置该变量之前的最后一次尝试中,我花了大约2个小时编译)

我在Amazon Web Services中使用了一个微实例,这个实例只有一个单核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

有什么建议吗?

在两次尝试之间,您可能没有正确清理。执行
清除distclean
,然后重试。抱歉。

您可能可以获取Fedora 16的.src.rpm,并在其上执行rpmbuild--重建。如果有任何时髦的红帽/CentOS/软呢帽的旗帜需要担心,那就应该解决了。(我假设你想要的版本还没有EPEL RPM?

“我知道,编译编译器是一件很讽刺的事。”技术术语是引导而不是讽刺。“引导”在distclean之后起作用,但是,我发现这是浪费时间,因为我使用了错误的CentOS版本,而且我还找到了包含我需要的软件包的存储库。无论如何,我更愿意说我学到了一些东西。