LD_DEBUG 命令

本文介绍如何通过设置LD_DEBUG环境变量来诊断并解决memcached在运行时找不到libevent-2.0.so.5库文件的问题,并给出了创建正确软链接的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LD_DEBUG是glibc中的 loader 设置的一个环境变量,主要的应用便于定位加载库模块时出现的问题

以memcached安装过程中遇到的问题为例:

命令: /usr/local/bin/memcached -p 11211 -m 64m -vv
错误:/usr/local/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

使用LD_DEBUG显示库寻找信息

LD_DEBUG=libs /usr/local/bin/memcached -vv
     15759:    find library=libevent-2.0.so.5 [0]; searching
     15759:     search cache=/etc/ld.so.cache
     15759:     search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64           (system search path)
     15759:      trying file=/lib64/tls/x86_64/libevent-2.0.so.5
     15759:      trying file=/lib64/tls/libevent-2.0.so.5
     15759:      trying file=/lib64/x86_64/libevent-2.0.so.5
     15759:      trying file=/lib64/libevent-2.0.so.5
     15759:      trying file=/usr/lib64/tls/x86_64/libevent-2.0.so.5
     15759:      trying file=/usr/lib64/tls/libevent-2.0.so.5
     15759:      trying file=/usr/lib64/x86_64/libevent-2.0.so.5
     15759:      trying file=/usr/lib64/libevent-2.0.so.5

最后一行可以看出,memcached去/usr/lib64目录下寻找libevent-2.0.so.5,先定位libevent-2.0.so.5实际目录

命令:whereis libevent-2.0.so.5

结果:libevent-2.0.so: /usr/lib/libevent-2.0.so.5

这时候需要将做一个软连接

命令:ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值