问题描述
我试图运行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
修复它。请参阅
从,然后将其解压。
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'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!