LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1404|回复: 9

如何知道某一软件需要哪些库依赖?然后怎么用图的形式表示出来?

[复制链接]
发表于 2008-11-24 01:24:08 | 显示全部楼层 |阅读模式
如何知道某一软件需要哪些库依赖?然后怎么用图的形式表示出来?
发表于 2008-11-24 09:39:35 | 显示全部楼层
如果你有 debian 的包,直接 apt-get source 包名,然后在当前目录下查找一个 .dsc 结尾的文件,里面有描述 Build-Depends 的项目,我觉得这是最简单的办法了。
回复 支持 反对

使用道具 举报

发表于 2008-11-24 10:47:08 | 显示全部楼层
ls的前提是打包者把依赖关系弄的很清楚了。

关于依赖还是需要编译的时候查看,比如有些软件不需要alsa,但是支持alsa,你在有alsa的环境下编译就会依赖一个libasound库,在没有alsa的环境下编译就不存在这个问题

如果说的是一个可执行程序的依赖就用ld,ldd
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-24 10:53:39 | 显示全部楼层
那比如说我想看mplayer需要哪些库,而这些库又需要哪些库?怎么能够一次性的把全部的依赖关系都得到?
回复 支持 反对

使用道具 举报

发表于 2008-11-24 12:48:45 | 显示全部楼层
本来这就是一个很复杂的过程,不过根据deb,rpm包依赖关系来处理要简单。

或者看看lfs的手册
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-24 13:12:42 | 显示全部楼层
那有没有命令能够直接得到依赖关系,就像gentoo里的equery那样?
回复 支持 反对

使用道具 举报

发表于 2008-11-24 19:40:54 | 显示全部楼层
不同发行版用的命令都不同,楼主用的是?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-25 01:53:09 | 显示全部楼层
用的是ubuntu,算是debian系的
回复 支持 反对

使用道具 举报

发表于 2008-11-25 06:44:49 | 显示全部楼层
1. 到 packages.ubuntu.com 里搜索
2. dpkg --info xxxxxx.deb (已下载但尚未装的包)
3. dpkg --status xxxxxxx (已装的包)
还有 aptitude 或者 synaptic 都能查询
回复 支持 反对

使用道具 举报

发表于 2008-11-27 14:14:07 | 显示全部楼层
lz的意思是不是想看程序和动态库之间的依赖关系?

我记得好像有个nm什么的可以看。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表