Follow Us

CentOS常见问题应对,升级make和gcc版本

本文讲解了编译源码过程中的常见问题,以及如何升级make和gcc版本。

点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达

今天讲一个 CentOS 中编译时的常见问题:在编译源码过程中 make 或者 gcc 版本过低导致的异常 configure: error。

具体报错如下:

configure: error: 
*** These critical programs are missing or too old: compiler
*** Check the INSTALL file for required versions.
或者
*** These critical programs are missing or too old: make compiler
c4fc22f78b937b180962bdcbea292fd1.png

此问题尤其容易出现在刚刚搭建的CentOS环境中,或者使用的安装包较新,应对方法就是把 make 或者 gcc 的版本进行升级。

make 升级

目标是将 make升级到到较新的 4.3 版本,我的操作系统版本是CentOS 7,具体操作如下:

1.下载make安装包

wget http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz

如需最新安装包可以去这里自行寻找:https://ftp.gnu.org/pub/gnu/make/

2.解压安装包

tar -zxvf make-4.3.tar.gz

3.编译并且安装make

cd make-4.3
./configure --prefix=/usr
type make
make check
make install

4.验证是否安装成功

make -v
[root@localhost build]# make -v
GNU Make 4.3
Built for aarch64-unknown-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

可见make的版本已经成功更新为4.3。

gcc 升级

目标是将 make升级到到较新的 11.2.0 版本,具体操作如下:

1.下载make安装包

wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz

如需最新版本安装包请自行查找:http://ftp.gnu.org/gnu/gcc/

2.解压缩安装包

tar -zxvf gcc-11.2.0.tar.gz

3.安装依赖

yum -y install bzip2
cd gcc-11.2.0
./contrib/download_prerequisites

4.configuration 配置

mkdir build
cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

#–enable-languages表示你要让你的gcc支持那些语言,
#–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。
#–disable-checking生成的编译器在编译过程中不做额外检查,
#也可以使用*–enable-checking=xxx*来增加一些检查

5.编译源码

make

这一步需要时间非常久,真的是非常非常久,因为我用的手机编译,大约用了2个小时…… 可以使用make -j4 让make最多运行四个编译命令同时运行,加快编译速度(建议不要超过CPU核心数量的2倍)。

6.安装 gcc

make install

7.验证gcc是否更新成功

gcc -v

Using built-in specs.
COLLECT_GCC=/usr/local/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (GCC)

验如果显示的gcc版本仍是以前的版本,就需要重启系统。或者可以查看gcc的安装位置:which gcc,然后在查看版本/usr/local/bin/gcc -v,确定以及配置成功后可以将原先的版本删除

8.删除旧版本gcc

yum -y remove gcc g++

9.配置软链接,使新版本gcc全局可用

ln -s /usr/local/bin/gcc /usr/bin/gcc

10.更新动态库

#查看当前的动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
#查看更新后的动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
# 安装后的动态库会位于/usr/local/lib64目录下,
#其他版本在该目录下寻找对应的动态库libstdc++.so.6.X.XX

Our Services

Worpress

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Web Design

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Ecommerce

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Brand Now

SEO

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Our Team

zahera

Zahera

(HR)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Alex

Alex

(CEO)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Alex

Sara

(CCO)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Mark

Mark

(Manager)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Testimonials

  • Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,
    Safira
    (Quia, CEO)
  • At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
    Alana
    (Wirate, PA)
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
    Sara
    (Yahoo, Manager)

Our Partners