LD_LIBRARY_PATH设置不当导致的自动安装失败

问题现象

某天自动安装的时候,发现安装出错,最后定位到是自动安装脚本执行时会有如下报错

./cfg_utility: error while loading shared libraries: libxerces-c.so.26: cannot open shared object file: No such file or directory
我们自动安装时会修改xml中配置项,因为在安装脚本中携带了可执行文件cfg_utility和libxerces-c.so.26动态库。错误原因是找不到动态库文件

echo $LD_LIBRARY_PATH 查看结果,发现安装正常的机器上一般是空,而失败机器上是类似如下/home路径

问题解决

安装脚本里为了防止用户修改不那么合规的LD_LIBRARY_PATH,在执行cfg_utility脚本前添加

export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:."


关于LD_LIBRARY_PATH

一般系统安装完成后echo $LD_LIBRARY_PATH都是空,为空的情况下则会按照如下路径寻找
1.当前路径
2./etc/ld.so.conf 文件下配置的路径
但是如果设置了LD_LIBRARY_PATH就只会找本环境变量的值了,所以一般手动设置时是类似如下方式
export LD_LIBRARY_PATH="/home:${LD_LIBRARY_PATH}"
在保留之前环境变量值的情况下,以分号分隔加入自己需要查找的路径,并在之前变量的前面来修改查找优先级
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值