无法编译最新的 gcc

无法编译最新的 gcc

我有 Linux CentOS 6.3,并且安装了 gcc 4.4.7 版本,这个版本比较老了。我想安装最新的 gcc。

我下载并解压了它,当我尝试

>./configure

它说我需要 GMP 4.2+、MPFR 2.4.0+ 和 MPC 0.8.0+

我成功安装了这些,然后当我./configure再次尝试 gcc 时,现在我得到了

/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status

对此我尚未能够通过 Google 找到可行的解决方案。

该怎么办 ?

答案1

我能够通过以下方式解决此直接错误:

>./configure  --enable-multilib --with-system-zlib

但还存在其他错误。

答案2

/usr/bin/ld: crt1.o: 没有此文件

# yum provides */crt1.o
# yum install gcc-c++ glibc-devel glibc-headers kernel-headers

此外,更换系统编译器并不是一个好主意。请不要这样做。你可以获得多个额外的编译器:devtoolset-3、-4、-6 →

# yum install centos-release-scl-rh centos-release-scl
# yum install devtoolset-3-gcc-c++ devtoolset-4-gcc-c++ devtoolset-6-gcc-c++

提供 gcc、g++ 版本 4.9.2、gcc、g++ 版本 5.3.1 以及 gcc、g++ 版本 6.3.1 https://www.softwarecollections.org/en/scls/rhscl/devtoolset-4/

注意:据我所知,gcc-7.x 无法与 CentOS 6.x 一起构建。操作系统太旧了。配置 gcc-5.3 的示例:

../gcc-5.3.0/configure --prefix=/usr/local/gcc53 --program-suffix=53 --enable-languages=c,c++ --with-system-zlib --disable-multilib

(可用的 rpm 包:gcc53-c++-5.3.0-1.el6.x86_64.rpmhttps://drive.google.com/file/d/0B7S255p3kFXNbTBneHgwSzBodFE/view?usp=sharing

相关内容