Ubuntu18.04 打开终端报错: ERROR: ld.so: object ‘xxx.so‘ from LD_PRELOAD cannot be preloaded 解决办法

1、问题现象

  • 在文件界面打开终端的时候,突然发现开头有一堆报错
ERROR: ld.so: object './envlib.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './libharfbuzz.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './envlib.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './libharfbuzz.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './envlib.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './libharfbuzz.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

像这样的报错后面还有10几行,但是表示的意思都是/envlib.so,/libharfbuzz.so.0 这两个文件无法预加载

2、问题分析

  • 通过查阅网上的博客发现这个LD_PRELOAD 是 Linux/Unix 系统的一个环境变量,它影响程序的运行时的链接(Runtime linker),它允许在程序运行前定义优先加载的动态链接库。
  • 然后我就开始找这个变量在哪里定义了,.bashrc里没有,.bash_profile这个文件我都没有
  • 最后在终端执行 env | grep LD_PRELOAD, 打印输出了如下内容:
$ env | grep LD_PRELOAD
ERROR: ld.so: object './envlib.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './libharfbuzz.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './envlib.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object './libharfbuzz.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
LD_PRELOAD=./envlib.so ./libharfbuzz.so.0

3、解决办法

  • 确定了这两个文件确实在环境变量里,用unset命令取消掉
unset LD_PRELOAD
  • 后面就没有报错了
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值