量角器测试,Headless RH 6.5和ChromeDriver GLIBCXX_3.4.15'问题

时间:2015-02-25 20:13:33

标签: protractor redhat selenium-chromedriver libstdc++

所以我在redHat 6.5服务器上做了量角器测试,而且我遇到了chromedriver的问题,每当我尝试运行它时,它给了我这个错误

./chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./chromedriver)  

我修复了这个安装chrome并建立了找到系统libstdc库的链接。

$ cd /usr/lib64/
$ ln -s /opt/google/chrome/lib/libstdc++.so.6 libstdc++.so.6

但是一段时间后链接恢复到原始版本,我仍然不确定系统是否会自动恢复或其他人。无论如何,我发现了另一个solution,它的作用是复制chrome并修改最后一行:

exec -a "$0" "$HERE/chrome"  "$PROFILE_DIRECTORY_FLAG" \
"$@"

到此:

exec -a "$0" "$HERE/chromedriver"  "$@"   

这样它就会调用chromedriver,最后创建一个指向/ usr / bin / chromedriver的链接。
但是当我运行chromdriver它没有什么,它只是坐在那里,没有什么 我甚至会尝试最后一行:

exec -a "$0" "$HERE/chromedriver"  "$PROFILE_DIRECTORY_FLAG" \
"$@"  

仍然没有运气:

问题:

  1. 有人能解决这个问题吗?
  2. RH恢复以这种方式恢复的库是正常的行为是默认的
  3. 任何想法为什么chromedriver调整可能无法正常工作
  4. 有没有办法告诉chromedriver手动找到libstdc ++的方法,如参数或类似的东西:

    ./ chromedriver --libstdc = / opt / google / chrome / lib / libstdc ++。so.6

1 个答案:

答案 0 :(得分:3)

您应该能够覆盖系统在加载chromedriver时用于查找库的LD_LIBRARY_PATH

具体来说,试试:

env LD_LIBRARY_PATH=/opt/google/chrome/lib/ chromedriver

这应该使动态链接器(ld-linux.so)在查找要匹配的库时首先查看已安装的chrome库目录。您可以通过向环境添加LD_TRACE_LOADED_OBJECTS=yep来调试此问题(有关您可以设置的更多调试变量,请参阅man ld-linux.so)。

如果LD_LIBRARY_PATH已经设置为您环境中的某些内容,则可能需要调整一些内容以通过该内容(例如,LD_LIBRARY_PATH=/opt/google/chrome/lib:${LD_LIBRARY_PATH}

请参阅https://superuser.com/questions/192573/how-do-you-specify-the-location-of-libraries-to-a-binary-linux