首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins Xvfb libcrypto问题

Jenkins Xvfb libcrypto问题
EN

Stack Overflow用户
提问于 2018-09-17 15:15:14
回答 1查看 296关注 0票数 1

我有一份Jenkins工作(用于硒无头测试)。我在Jenkins安装了Xvfb插件。但是,当我运行作业时,它会出现以下错误

代码语言:javascript
复制
/var/jenkins_home/Xvfb: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory

不确定,尽管libcryp.so.10在PATH变量中也可用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-18 03:18:26

您得到的错误消息表明,Xvfb无法找到libcrypto的共享对象。当动态链接器无法找到可执行文件的依赖项时,就会发生这种情况。通常,您可以通过使用ldd命令作为您的Jenkins用户来确定哪些库找不到,例如:

代码语言:javascript
复制
$ ldd /usr/bin/Xvfb
linux-vdso.so.1 (0x00007ffdc6def000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f6bcb054000)
libcrypto.so.10 => not found

Linux中的动态链接器通常不使用PATH变量来确定从哪里加载库。它通常位于:LD_LIBRARY_PATH环境变量、/etc/ld.so.conf的内容、然后是/lib/usr/lib。更多信息在这个Unix堆栈交换答案中ld.so手册页

它的确切位置取决于您正在使用的发行版以及如何配置它。你有几个方法可以帮詹金斯找到你的图书馆:

  • libcrypto.so.10的路径添加到环境变量LD_LIBRARY_PATH --这应该可以工作,但取决于您正在构建的内容,这可能会导致其他事情的混乱。有些(主要是C/C++)构建脚本需要取消设置。这样做的好处是只影响到Jenkins用户,而不需要设置额外的特权。
  • libcrypto.so.10的路径添加到/etc/ld.so.conf文件中的路径列表(或在某些发行版上)到/etc/ld.so.conf.d/中自己的文件中。这应该不受LD_LIBRARY_PATH的不良副作用的影响,但需要根权限,并且会影响计算机上的任何用户。
  • libcrypto.so.10复制(或符号链接)到/usr/lib。这是一个野蛮的战术,可能是一个坏主意,因为它可能会扰乱您的分发的包装系统,但它应该工作,如果没有其他任何事情。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52370913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档