zoukankan      html  css  js  c++  java
  • Linux-GLIBCXX版本过低导致编译错误--version `GLIBCXX_3.4.20' not found

    最近在CentOS6.2上安装protobuf2.4.1,编译的时候出现如下错误:

    /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by */3rd-party/protobuf-2.4.1/src/.libs/libprotobuf.so.7)
    /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by */3rd-party/protobuf-2.4.1/src/.libs/libprotoc.so.7)

    1)检查了gcc版本:gcc --version 得到结果gcc (GCC) 4.9.2 已经比较新;

    2)strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX 得到结果:

    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    3)sudo  find / -name  libstdc++.so.6* 得到结果:

    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyo
    /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.py
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyc
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyo
    /usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.py
    /usr/lib64/libstdc++.so.6.bak
    /usr/lib64/libstdc++.so.6.0.17
    /usr/lib64/libstdc++.so.6.0.13
    /usr/lib64/libstdc++.so.6
    /usr/local/lib64/libstdc++.so.6.0.18
    /usr/local/lib64/libstdc++.so.6.0.18-gdb.py
    /usr/local/lib64/libstdc++.so.6.0.20
    /usr/local/lib64/libstdc++.so.6.0.20-gdb.py
    /usr/local/lib64/libstdc++.so.6

    可以看到,已经有libstdc++.so.6.0.20

    4)ls -al /usr/lib64/libstdc++.so.6 得到结果:

    lrwxrwxrwx. 1 root root 30 11月 16 11:31 /usr/lib64/libstdc++.so.6 -> /usr/lib64/libstdc++.so.6.0.17

    说明虽然gcc已经更新到最新版,但是连接还是旧版本,所以只需要修改连接就可以了。

    解决方案步骤:

    1)sudo cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64  //复制文件

    2)sudo rm -rf /usr/lib64/libstdc++.so.6  //删除旧文件

    3)sudo ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6 //链接到新版本

  • 相关阅读:
    Schema和数据类型优化?
    语雀发布博客园
    为知笔记文章目录
    码云搭建博客
    springboot的过滤器、监听器、拦截器
    springboot常用注解
    springboot使用小技巧合集
    springboot整合swagger2
    强制卸载win软件
    xshell下载和优化配置
  • 原文地址:https://www.cnblogs.com/twinhead/p/9248745.html
Copyright © 2011-2022 走看看