Ubuntu使用apt-file解决库或者文件缺失依赖

1 问题发现


有的时候编译或者安装软件包,会提示缺少某个文件,比如头文件或者动态链接库xxx.so文件等, 虽然我们知道这是因为没有安装某个必须的软件包所致,却不知道具体是哪个软件包

2 问题解析


解决这样的问题,在fedora/RHEL 上,使用yum whatprovides可以很轻松的查到

相应的,在ubuntu下面有什么解决方案?

可使用apt-file工具。

3 apt-file


apt-file 是一个命令行界面的 APT 包搜索工具。当我们在编译源代码时,时有缺少文件的情况发生。此时,通过 apt-file 就可以找出该缺失文件所在的包,然后将缺失的包安装后即可让编译顺利进行了。

3.1 安装配置apt-file


首先安装apt-file管理器

sudo apt-get install apt-file

接着更新apt-file的缓存

apt-file update

apt-file update

此过程将持续一会儿,以后如果修改了sources.list,仍需执行该操作

3.2 apt-file搜索文件依赖


现在你可以使用apt-file搜索缺失的文件了

在安装WPS时,提示缺少libgthread-2.0.so.0
此时,输入

apt-file search libgthread-2.0.so.0

apt-file search

然后使用apt-get install可安装缺失的软件包

apt-get install libglib2.0-0

3.3 列出包中的文件


apt-file list 包名称

apt-file list cmatrix

根据引用\[1\]中提供的信息,如果在Ubuntu安装Matlab后运行时报错"Failed to load module 'canberra-gtk-module'",可能是由于未安装Matlab所需的依赖项导致的。你可以尝试执行以下命令来安装缺失依赖项: ``` sudo apt-get install libcanberra-gtk-module ``` 如果已经安装了这个依赖项但仍然报错,可能是由于GTK版本的问题。Ubuntu默认安装的是GTK 3.0,而Matlab需要的是GTK 2.0版本。你可以尝试安装GTK 2.0+版本的canberra来解决这个问题,运行以下命令: ``` sudo apt-get install libcanberra-gtk-module -y ``` 此外,你还需要添加一个软连接,运行以下命令: ``` sudo ln -s /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libcanberra-gtk-module.so /usr/lib/libcanberra-gtk-module.so ``` 如果你仍然无法定位到"libcanberra-gtk-module",你可以尝试使用strace命令来查看系统调用过程,以找到出错的位置。根据引用\[3\]中提供的信息,你可以运行以下命令: ``` strace -e trace=file sudo apt-get install libcanberra-gtk-module ``` 这将显示系统调用过程中访问的文件路径,帮助你找到问题所在。 #### 引用[.reference_title] - *1* *2* [Failed to load module “canberra-gtk-module“ 或 Using GTK+ 2.x and GTK+ 3 in the same process is ...](https://blog.csdn.net/qq_46304090/article/details/126572231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [解决 canberra-gtk-module 加载失败的问题](https://blog.csdn.net/Longyu_wlz/article/details/85254588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值