您的位置:首页 > 文旅 > 旅游 > 软件开发流程及主要岗位_台湾刚刚最新消息今天_企业推广软件_不限制内容的搜索引擎

软件开发流程及主要岗位_台湾刚刚最新消息今天_企业推广软件_不限制内容的搜索引擎

2025/2/18 15:39:34 来源:https://blog.csdn.net/imliuqun123/article/details/145034439  浏览:    关键词:软件开发流程及主要岗位_台湾刚刚最新消息今天_企业推广软件_不限制内容的搜索引擎
软件开发流程及主要岗位_台湾刚刚最新消息今天_企业推广软件_不限制内容的搜索引擎

查看日志报错,需要定位到具体的so是否存在问题

usr/bin/lightdm-deepin-greeter: symbol lookup error: /usr/bin/lightdm-deepin-greeter: undefined symbol: _ZN8KWayland6Client11DDEKeyboard10keyChangedEjNS1_8KeyStateEj

日志中提示/usr/bin/lightdm-deepin-greeter文件缺少符号_ZN8KWayland6Client11DDEKeyboard10keyChangedEjNS1_8KeyStateEj
如何通过符号定位到so文件,最终定位到具体的包呢?
下面一步步操作:

1、使用ldd命令

# ldd /usr/bin/lightdm-deepin-greeter

会返回很多的so文件,通过这些可以减少工作量,不用全部去比对
将这些so文件全都追加到文件中,方便阅读使用

# ldd /usr/bin/lightdm-deepin-greeter | awk -F "=>" '{print $1}' > ~/ldd.txt

2、获取so文件的符号内容

通过命令objdump -T获取内容

for i in `cat ldd.txt`;
do
objdump -T /usr/lib64/$i >> objdump.txt
done 

查看具体的函数信息

grep -n _ZN8KWayland6Client11DDEKeyboard10keyChangedEjNS1_8KeyStateEj objtest.txt

通过上面的命令中,可以确认具体的so文件,加入这里是libKF5WaylandClient.so.999

确认包具体是哪个

yum provides /usr/lib/libKF5WaylandClient.so.999

就可以看到具体的rpm包,剩下就是安装rpm包,将so文件成功引入,问题就解决了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com