configure: error: *** A compiler with support for C++11 language features is required.


参考链接:

(1)升级 GCC 支持C++11

(2)解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题方法总结


一、错误发生情景:

使用sh setup.sh安装软件时,报以下错误:

...
configure: error: *** A compiler with support for C++ language features is required.
---
ERROR: failed to configure xapian-core-scws, see 'setup.log' for more detail

二、错误原因:

  gcc版本太低了


三、解决问题:

  (1)查看当前的gcc版本:

    gcc -v

    结果:gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)

  (2)下载高版本的gcc:

    wget ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-8.3.0/gcc-8.3.0.tar.gz

  (3)解压:

    tar -zxvf gcc-8.3.0.tar.gz

  (4)进入目录

    cd gcc-8.3.0

  (5)配置

    ./configure --prefix=/usr/local/gcc-8.3.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib

      注意,如果出现错误以下错误:  

...
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.+ and MPC 0.8.+.
...

      请看文章底部的错误解决方法。

  (6)编译

      make

  (7)安装

      make install

  (8)查看版本

      gcc -v

      如果发现版本没有变化,

      可以删除旧版本的gcc,如果旧版的是用yum安装的,可以使用yum remove gcc。

      然后把新安装的gcc的bin目录添加到环境变量中,/etc/pfofile文件中。

      再查看版本,是否已变成最新安装的版本。

  (9)更新标准库

      (这一步,应该是需要的,gcc升级后,标准库还是旧的,可能影响一些编译操作。)

      1、进入到刚才安装新的GCC的目录中:cd /usr/local/gcc-8.3.0

      2、进入到库目录:cd lib64 (注意:系统如果是64位的就进入到lib64目录,否则进入到lib目录)

      3、查看当前库的最搭版本:ls,结果看到:libstdc++.so.6.0.25

      4、复制到系统默认的库目录下:

        cp libstdc++.so.6.0.25 /usr/lib64/  (注意:系统如果是32:cp libstdc++.so.6.0.25 /usr/lib/)
      
5、进入到/usr/lib64下,查看相关的版本信息
        
ls -l | grep libstdc++

        结果:
        
...   libstdc++.so.6 -> libstdc++.so.6.0.13
        ...  libstdc++.so.6.0.13
                            ...   libstdc++.so.6.0.25
      6、删除旧的软连接:
        rm -f libstdc++.so.6
      7、建立新的软连接:
        ln -s libstdc++.so.6.0.25 libstdc++.so.6

      8、查看标准库最新的版本:

        strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX        

GLIBCXX_3.
GLIBCXX_3.4.1
.
.
.
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

        可以看到,已更新到最新的25版本。


可能遇见的错误:

  在执行.configure命令时,可能遇到以下错误:

...省略
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.+ and MPC 0.8.+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations. Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
http://gcc.gnu.org/install/prerequisites.html for additional info. If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files. They may be located in separate packages.

错误说明,安装gcc需要这三个依赖:GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+。

错误中还指出了下载页面的地址:ftp://gcc.gnu.org/pub/gcc/infrastructure/。

  1、打开链接:ftp://gcc.gnu.org/pub/gcc/infrastructure/。

  2、找到需要的三个包地址,下载下来:

      wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2

      wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2

      wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz

  3、安装GMP:      

tar -jxvf gmp-6.1..tar.bz2
cd gmp-6.1.
./configure
make && make install

  4、安装MPFR:

tar -jxvf mpfr-3.1..tar.bz2
cd mpfr-3.1.
./configure
make && make install

  5、安装MPC: 

tar -zxvf mpc-1.0..tar.gz
cd mpc-1.0.
./configure
make && make install

 


  

    

升级 GCC 支持C++11 或 configure: error: *** A compiler with support for C++11 language features is required.的更多相关文章

  1. nginx报错:./configure: error: C compiler cc is not found, gcc 是已经安装了的

    源码安装nginx报错,找不到gcc,但是实际上gcc是存在的,如下: # ./configure checking for OS + Linux -.el7.x86_64 x86_64 checki ...

  2. React Native 'config.h' file not found 问题、 'glog/logging.h' file not found 问题、configure: error: C compiler cannot create executables问题解决过程记录

    1.在github 上面 git clone 一个RN 项目代码,npm install (yarn)后,准备运行iOS工程,发现'config.h' file not found ,恶心!!! 百度 ...

  3. configure: error: C++ compiler cannot create executables

    今天装虚拟机LNMP环境 安装报错:configure: error: C++ compiler cannot create executables 这是因为 gcc 组件不完整,执行安装 yum i ...

  4. 【转】解决configure: error: C++ compiler cannot create executables问题

    转自:http://www.coderbolg.com/content/83.html 啊……天啊,./configure时报错:configure: error: C++ compiler cann ...

  5. configure error C compiler cannot create executables错误解决

    我们在编译软件的时候,是不是经常遇到下面的错误信息呢?   checking build system type... i686-pc-linux-gnuchecking host system ty ...

  6. 编译安装nginx提示./configure: error: C compiler cc is not found

    1 编译安装nginx提示如下 ./configure: error: C compiler cc is not found 2 解决办法 yum -y install gcc gcc-c++ aut ...

  7. 安装RabbitMQ编译erlang时,checking for c compiler default output file name... configure:error:C compiler cannot create executables See 'config.log' for more details.

    checking for c compiler default output file name... configure:error:C compiler cannot create executa ...

  8. centos7安装nginx 报./configure: error: C compiler cc is not found

    CentOS 7 下 安装 nginx 执行配置命令 ./configure 时提示以下错误: 解决: 执行以下命令: yum -y install gcc gcc-c++ autoconf auto ...

  9. Linux安装Nginx报错: ./configure: error: C compiler cc is not found

    CentOS 7.3 下 安装 Nginx 执行配置命令 ./configure 时提示以下错误: checking for OS + Linux 2.6.32-431.el6.x86_64 x86_ ...

随机推荐

  1. 对象、句柄、ID之间的区别

    对象是C++的概念,C++的类对象 句柄是Windows SDK的概念,指向某种资源的一种“指针”(有时候底层不一定是指针) 资源ID在MFC里仅仅是一个宏,也就是个整数. 其实,句柄是控件在数据结构 ...

  2. 洛谷 P1516 青蛙的约会

    https://www.luogu.org/problemnew/show/P1516#sub 题意还是非常好理解的..... 假如这不是一道环形的跑道而是一条直线,你会怎样做呢? 如果是我就会列一个 ...

  3. 【线性基】bzoj2322: [BeiJing2011]梦想封印

    线性基的思维题+图常见套路 Description 渐渐地,Magic Land上的人们对那座岛屿上的各种现象有了深入的了解. 为了分析一种奇特的称为梦想封印(Fantasy Seal)的特技,需要引 ...

  4. 解决mysql出现的问题#1055 - Expression of SELECT list is not in GROUP BY clause and contains nonaggregated column this i

    最近在学flask, 在访问主页时,一直出现1055错误,在网上找的解决方法是删除ONLY_FULL_GROUP_BY,当时是删除了,但是退出在进行select @@sql_mode时,仍出现ONLY ...

  5. html页面简单访问限制

    PS:突然发现博客园有密码保护功能,已经可以满足基本需求了.博客园还能备份自己的所有数据,做到了数据归用户所有,平台只是展示,真是良心网站,大赞. 想要通过一个站点放一些东西给一些人看,但是又不想让所 ...

  6. 谷歌放弃“不作恶” Alphabet要“遵守法律互相尊重”

    对于一些谷歌粉而言,谷歌那条“不作恶(Don’t be evil)”的行为准则是他们引以为傲的精神信仰.这一准则于1999年被首次确认,谷歌在2004年申请上市时也提到了这一点.不过现在这一点要改变了 ...

  7. Python 基本数据类型 (二) - 字符串1

    # ----------- 首字母大写 ---------- test = "alex is a man" v = test.capitalize() print(v): Alex ...

  8. 1.python中的变量

    什么是变量 1.在任何语言中都有变量的概念,在python中变量是用一个变量名表示,变量名必须是用大小写英文字母,数字,下滑写(_)组成.不能用数字开头.(但用中文做变量名也可以,不要这样做) 例: ...

  9. Python中的并发

    目录 Python并发 并发三种层次 协程 生成者消费者 新关键字 网络io 线/进程 例子 线程池 进程通信 并发池 future对象 executor对象 参考 Python并发 并发三种层次 个 ...

  10. html--元素显示优先级

    HTML元素的显示优先级 一.HTML元素的显示优先级(显示层次问题,哪个在上哪个在下!总是显示在最前面)        帧元素>HTML元素优先,表单元素总>非表单元素优先        ...