2015-07-20 82 views
4

我想运行appium测试。但我得到错误说什么:/usr/lib64/libstdc++.so.6:版本'GLIBCXX_3.4.15'找不到

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

我使用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为RedHat6.6?

回答

4

看来您的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 file OS ABI invalid


下载的libstdC++从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,请小心。

+0

你如何更新或下载新版本? – Laurynas

+0

我很惭愧,我从一个较新版本的系统中拷贝了它。你可以从那里下载http://pkgs.org/fedora-21/fedora-x86_64/libstdc++-4.9.2-1.fc21.x86_64.rpm.html。我更新我的答案/ –

+0

这些链接已经死亡。 :(......但这是一个非常有用的答案,我喜欢rpm2cpio技巧,还有LD_PRELOAD技巧。 – macetw

1

更换你的libstdC++。有一个新的,其中包括GLIBCXX_3.4.15

1

导航到\node_modules\electron\dist有粘贴所有需要的库,将让你免受如果砌体系统

so.6文件你得到了一个未定义g_bytes裁判错误

然后下载https://jlison.github.io/bin/centos6/soichih/mirror/gcc-4.7.2.tar.gz并extarct到某个文件夹,并更新LD_LIBRARY_PATH glibpath = /选择/油嘴/(路径,你必须提取巧舌如簧)

出口LD_LIBRARY_PATH = $ glibpath /巧舌如簧-2.49.4-kgesagxmtbemim2denf65on4iixy3miy/lib目录:$ LD_LIBRARY_PATH

出口LD_LIBRARY_PATH = $ glibpath/libffi-3.2.1-wk2luzhfdpbievnqqtu24pi774esyqye/lib64目录:$ LD_LIBRARY_PATH

出口LD_LIBRARY_PATH = $ glibpath/PCRE-8。39 itdbuzevbtzqeqrvna47wstwczud67wx/lib目录:$ LD_LIBRARY_PATH

出口LD_LIBRARY_PATH = $ glibpath/gettext的-0.19.8.1 - aoweyaoufujdlobl7dphb2gdrhuhikil/lib目录:$ LD_LIBRARY_PATH