/usr/lib64/libstdc++.so.6:未找到版本'GLIBCXX_3.4.15' [英] /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found

查看:1651
本文介绍了/usr/lib64/libstdc++.so.6:未找到版本'GLIBCXX_3.4.15'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图运行appium测试。但是我收到错误,说什么:

  / usr / lib64 / libstdc ++。so.6:未找到版本'GLIBCXX_3.4.15' 

我正在使用RedHat6.6。当我运行时:

  strings /usr/lib/libstdc++.so.6 | grep GLIBC 

我得到这个:

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

是否有可能获得GLIBCXX_3.4.15 for RedHat6.6?

解决方案

看来您的 libstdc ++。so.6 对于你的程序来说太旧了,你可以尝试更新你 libstdc ++。so 。在我的 centos7 中,我的 libstdc ++。so.6 链接到 libstdc ++。so.6.0 .19

  libstdc ++。so.6  - > libstdc ++。so.6.0.19 

其中包含字符串

  [root] #strings libstdc ++。so.6 | grep GLIBC 
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_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

也许您可以下载更新的版本并重新链接 libstdc ++。so.6 ,但是您应该关心系统中的其他程序是否仍然正常运行。

更新这个库你应该小心谨慎,可能需要新的问题,我已经替换了 libc.so.6 ,那么所有的命令都无法工作,我使用 / sbin / sln 修复它。请参阅 glibc:elf文件操作系统ABI无效






pkgs.org ,然后将其解压。

  rpm2cpio libstdc ++  -  4.9.2-1.fc21.x86_64.rpm | cpio -idmv 
cp ./usr/lib64/libstdc++.so.6.0.20 / usr / lib64

也许你可以使用 LD_PRELOAD = / usr / lib64 / libstdc ++。so.6.0.20 在执行你的程序之前。像这样

  LD_PRELOAD = / usr / lib64 / libstdc ++。so.6.0.20 ls -hl 

export LD_LIBRARY_PATH = / usr / lib64 / libstdc ++。so.6.0.20 ,但我不确定它会工作。



如果您重新链接 libstdc ++。so.6 ,小心。


I am trying to run appium tests. However I get error saying what:

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

I am using RedHat6.6. When I run:

strings /usr/lib/libstdc++.so.6 | grep GLIBC

I get this:

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

Is it possible to get GLIBCXX_3.4.15 for RedHat6.6?

解决方案

It seems that your libstdc++.so.6 is too old for your program, You can try to update you libstdc++.so. In my centos7, my libstdc++.so.6 is linked to libstdc++.so.6.0.19

libstdc++.so.6 -> libstdc++.so.6.0.19

There are the strings in it

[root]#strings libstdc++.so.6|grep GLIBC
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_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

Maybe you could download a newer version and relink the libstdc++.so.6, but you should care about are other programs in you system still work well.

Update this lib you should vary careful, It may take new problems, I had replaced the libc.so.6, then all commands can't work, I used /sbin/sln fix it. See glibc: elf file OS ABI invalid


Download libstdc++ from pkgs.org, then unpack it.

rpm2cpio libstdc++-4.9.2-1.fc21.x86_64.rpm |cpio -idmv
cp ./usr/lib64/libstdc++.so.6.0.20 /usr/lib64

Maybe you can use LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.20 before you execute your program. Like this

LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.20 ls -hl

Or export LD_LIBRARY_PATH=/usr/lib64/libstdc++.so.6.0.20, but I'm not certain it will work.

If you relink the libstdc++.so.6, be careful.

这篇关于/usr/lib64/libstdc++.so.6:未找到版本'GLIBCXX_3.4.15'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆