ubuntu安装库依赖包错误问题
The following packages have unmet dependencies:
libbz2-dev : Depends: libbz2-1.0 (= 1.0.8-5.1) but 1.0.8-5.1build0.1 is to be installed
Recommends: bzip2-doc but it is not going to be installed
liblz4-dev : Depends: liblz4-1 (= 1.9.4-1build1) but 1.9.4-1build1.1 is to be installed
libzstd-dev : Depends: libzstd1 (= 1.5.5+dfsg2-2build1) but 1.5.5+dfsg2-2build1.1 is to be installed
zlib1g-dev : Depends: zlib1g (= 1:1.3.dfsg-3.1ubuntu2) but 1:1.3.dfsg-3.1ubuntu2.1 is to be installed
E: Unable to correct problems, you have held broken packages.
对于这类问题,不建议使用apt install libbz2-1.0= 1.0.8-5.1这种指定版本号的方法安装依赖的库。
这种方法会替换掉原来的,如果系统软件依赖这些库,直接导致系统级别的故障,并且可能无法通过重装回原来版本来恢复。
那么,大家有什么好的方法吗 ?
1.使用aptitude帮助依赖处理
apt-get install aptitude
aptitude packagename(需要安装的库名)
没有尝试
2.源码安装,目前想到的比较合适的方法。
3.源镜像版本不一致问题
先获取系统版本信息
$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble
然后再获取该软件/库信息
$ sudo apt list | grep libdbus-1-dev
libdbus-1-dev/noble,now 1.14.10-4ubuntu4.1 amd64
libdbus-1-dev/noble 1.14.10-4ubuntu4.1 i386
输出信息没有“[installed]”字样,表示该软件/库尚未安装
接下来关键是更换源镜像。这里选择“Software Updater”程序,然后选择settings,在Ubuntu Software的Download from中选择HongKong节点或其他国内节点。

源镜像更新完毕后,执行安装操作即可。大功告成。收工。
$ sudo apt install libdbus-1-dev
$ sudo apt list | grep libdbus-1-dev
libdbus-1-dev/noble-updates,now 1.14.10-4ubuntu4.1 amd64 [installed]
libdbus-1-dev/noble-updates 1.14.10-4ubuntu4.1 i386
表示已经安装

浙公网安备 33010602011771号