您现在的位置是:首页 > 正文

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

2024-02-01 05:32:33阅读 2

问题:

./a.out: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/ycai/x10/stdlib/lib/libx10.so)


可能的解决方案:

第一种方案:

执行strings /usr/lib64/libstdc++.so.6 | grep GLIBC


返回结果没有GLIBCXX_3.4.9

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
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

执行ls -l  /usr/lib64/libstdc++.so.6
发现/usr/lib64/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8,其实这里需要使用libstdc++.so.6.0.10
从网上下载这个文件,然后把/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8(rm -rf /usr/lib/libstdc++.so.6 )软链接删除,重新做
ln -s /usr/lib/libstdc++.so.6.0.10  /usr/lib64/libstdc++.so.6


补充这个解决方案是网上找的,这个解决方案生效的前提是要有权限。我是在集群上使用的,没有管理员权限,所以无法删除上面所说软连接。


第二种方案(此种方案成功)

The problem is that you built your new GCC incorrectly: on Linux you should use

./configure --prefix=/usr

The default installation prefix is /usr/local, which is why make install put gcc and g++binaries into /usr/local/bin, etc.

What's happening to you now is that you compile and link using the new (symlinked) GCC 4.2.4, but at runtime your program binds to the old /usr/lib64/libstdc++.so.6 (version 6.0.8, instead of required 6.0.9). You can confirm that by running ldd build/ALPHA_SE/m5.opt: you should see that it uses /usr/lib64/libstdc++.so.6.

There are several fixes you could do.

env LD_LIBRARY_PATH=/usr/local/lib64 ldd build/ALPHA_SE/m5.opt

should show you that setting LD_LIBRARY_PATH is sufficient to redirect the binary to correct library, and

LD_LIBRARY_PATH=/usr/local/lib64 build/ALPHA_SE/m5.opt

should just run. You could "bake" this path into m5.opt binary by relinking it with -Wl,-rpath=/usr/local/lib64.

关键点是:

输入

env LD_LIBRARY_PATH=/home/ycai/opt/gcc-4.5.1/lib64 ldd ./a.out 

运行后,就发现那个连接对了。

参考上面对的链接,将/home/ycai/opt/gcc-4.5.1/lib64等路径加入到LD_LIBRARY_PATH里面。
LD_LIBRARY_PATH=/home/ycai/opt/gcc-4.5.1/lib64 ldd ./a.out


第三种方案:

cd /usr/lib64 && mv libstdc++.so.6 libstdc++.so.6_bak &&
ln -s /home/ycai/opt/gcc-4.5.1/lib64/libstdc++.so.6

这种方案可能也需要一定的权限


第四种方案:

   重新配置。reconfigure the new GCC with --prefix=/usr, and then make all install.

   详见:http://stackoverflow.com/questions/1952146/glibcxx-3-4-9-not-found


五:

可以参考此文章:http://blog.csdn.net/wangxmin2005/article/details/8211077

如果有管理员权限,根据此文章应该是可以解决问题的。(PS:我的问题就是没有权限~~~~(>_<)~~~~ )


参考文章:

http://blog.csdn.net/atower_boy/article/details/6268838

http://jamesbond0479.blog.163.com/blog/static/24147582010712104140781/

http://stackoverflow.com/questions/1952146/glibcxx-3-4-9-not-found


网站文章

  • 相对(relative)定位和绝对(absolute)定位

    相对(relative)定位和绝对(absolute)定位

    首先,position的这两个属性一般是不使用的,因为有了浮动,所以我们才需要position属性来实现我们想要的布局。 1.相对定位(relative):相对于原来位置(原来位置指在文档流中默认的位置,若加上了浮动时,那么这个原来位置就是你设定浮动时的位置)的偏移,原来位置依然占据空间。 (1)box1和box2都没有设置position属性(没有设置float属性时) 效果图:我...

    2024-02-01 05:32:28
  • 威胁驱动的网络安全方法论

    威胁驱动的网络安全方法论

    本文主要内容取自洛克希德·马丁公司的论文:A Threat-Driven Approach to Cyber Security,想要全面准确了解论文内容的朋友建议阅读原文。希望能够抛砖引玉,为相关领域...

    2024-02-01 05:32:20
  • 解决eclipse集成maven插件 add dependencies搜索不到jar包的问题

    解决eclipse集成maven插件 add dependencies搜索不到jar包的问题

    背景: 新建了maven项目,要添加jar包,但有不想去网上一个一个搜索再写到pom.xml里 所以想在add dependencies中搜索添加,奈何搜索出来只有本地的那几个jar包(默认) 尝试: 去百度查了很多解决方法... 如:1、配置阿里的远程仓库,但...又报错-找不到xxx.zip文件~ 2、设置eclipse的属性啊...没有效果 3、删除...

    2024-02-01 05:32:13
  • 十年程序人生路,他是如何从某度外包逆袭成为阿里架构师的?

    十年程序人生路,他是如何从某度外包逆袭成为阿里架构师的?

    写在前面 我的一位朋友在某大型互联网公司担任架构师。刚毕业那年,他以外包的身份进入了某度,那个时候他几乎每一天都很焦虑,大家技术能力没差太多,为什么“我”是外包身份? 后来辞职,去了一家 20 人左右...

    2024-02-01 05:31:43
  • 分析国内独立开发者的现状,他们是如何生存的

    百度2013年第三季度《移动互联网发展趋势报告》报告显示: 今年第三季度,国内Android日活跃用户达到2.7亿,用户每天人均使用时长突破150分钟; 生活娱乐工具、视频、浏览器等高频或入口级应用受到用户青睐。

    2024-02-01 05:31:36
  • 【ELK系列二】es的UI界面elasticsearch-head插件安装

    【ELK系列二】es的UI界面elasticsearch-head插件安装

    安装elasticsearch-head插件由于es服务启动之后,访问界面比较丑陋,为了更好的查看索引库当中的信息,我们可以通过安装elasticsearch-head这个插件来实现,这个插件可以更方...

    2024-02-01 05:31:29
  • java 捕捉的异常抛出_Java异常抛出和捕获

    java 捕捉的异常抛出_Java异常抛出和捕获

    Java中把非正常情况分为两种,异常(Exception)和错误(Error)。异常.pngError:一般是指与虚拟机相关的问题(虚拟机错误、线程死锁等),这种错误无法回复或不可能捕获Excepti...

    2024-02-01 05:31:00
  • vue-cli中webpack配置之webpack.dev.conf.js

    vue-cli中webpack配置之webpack.dev.conf.js

    配置内容var utils = require('./utils')var webpack = require('webpack')var config = require('../config')v...

    2024-02-01 05:30:53
  • 1. VMware搭建Linux环境,安装配置centos6.5

    1. VMware搭建Linux环境,安装配置centos6.5

    1. 安装VMware,后新建虚拟机2.为我们的虚拟机挂载操作系统3、开启我们的虚拟机,为我们的虚拟机进行安装操作系统4、配置虚拟机连接网络修改linux的mac地址修改mac地址配置文件需要启动我们的linux的虚拟机,然后更改mac地址的配置文件vim /etc/u...

    2024-02-01 05:30:46
  • Hats’Worlds(字典树)

    Hats’WorldProblem Description: A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary. You are to find all the hat’s words in a dictionary. I

    2024-02-01 05:30:16