Ubuntu 21.10似乎存在一个问题,libpulse-dev
因为如果我想在完全最新的系统上安装 libsdl2-dev,我会得到:
以下软件包具有未满足的依赖关系:
libpulse-dev:依赖:libpulse0(= 1:15.0+dfsg1-1ubuntu2)但需要安装 1:15.0+dfsg1-1ubuntu2.1
# dpkg --get-selections | grep hold
root@gamer2:/# apt update
Hit:1 https://repo.steampowered.com/steam stable InRelease
Hit:2 http://ca.archive.ubuntu.com/ubuntu impish InRelease
Hit:3 http://ca.archive.ubuntu.com/ubuntu impish-updates InRelease
Hit:4 http://security.ubuntu.com/ubuntu impish-security InRelease
Hit:5 http://ca.archive.ubuntu.com/ubuntu impish-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@gamer2:/# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@gamer2:/# apt install libsdl2-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:
The following packages have unmet dependencies:
libpulse-dev : Depends: libpulse0 (= 1:15.0+dfsg1-1ubuntu2) but 1:15.0+dfsg1-1ubuntu2.1 is to be installed
Depends: libpulse-mainloop-glib0 (= 1:15.0+dfsg1-1ubuntu2) but 1:15.0+dfsg1-1ubuntu2.1 is to be installed
E: Unable to correct problems, you have held broken packages.
root@gamer2:/# dpkg --get-selections | grep hold
root@gamer2:/#
我该如何解决这个问题?
这是在全新 64b ubuntu21.10 上安装的。
更新
# apt-cache policy libpulse-dev
libpulse-dev:
Installed: (none)
Candidate: 1:15.0+dfsg1-1ubuntu2
Version table:
1:15.0+dfsg1-1ubuntu2.2 1 (phased 20%)
500 http://ca.archive.ubuntu.com/ubuntu impish-updates/main amd64 Packages
1:15.0+dfsg1-1ubuntu2 500
500 http://ca.archive.ubuntu.com/ubuntu impish/main amd64 Packages
Ubuntu 版本、内核和架构:
root@gamer2:/# cat /etc/issue
Ubuntu 21.10 \n \l
root@gamer2:/# uname -a
Linux gamer2 5.13.0-22-generic #22-Ubuntu SMP Fri Nov 5 13:21:36 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
更新2
似乎从 impish 获取 libpulse0,但从 impish-updates 获取 libpulse-dev,但是为什么呢?
root@gamer2:/# apt-cache policy libpulse0
libpulse0:
Installed: 1:15.0+dfsg1-1ubuntu2.1
Candidate: 1:15.0+dfsg1-1ubuntu2.1
Version table:
1:15.0+dfsg1-1ubuntu2.2 1 (phased 20%)
500 http://ca.archive.ubuntu.com/ubuntu impish-updates/main amd64 Packages
*** 1:15.0+dfsg1-1ubuntu2.1 100
100 /var/lib/dpkg/status
1:15.0+dfsg1-1ubuntu2 500
500 http://ca.archive.ubuntu.com/ubuntu impish/main amd64 Packages
root@gamer2:/# apt install libpulse0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libpulse0 is already the newest version (1:15.0+dfsg1-1ubuntu2.1).
libpulse0 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
更新 3
这台电脑没有非默认存储库,也从未配置过任何非默认存储库。
沒有保留:
$ apt-mark showhold
$
答案1
“(分阶段 20%)”
看https://wiki.ubuntu.com/PhasedUpdates https://wiki.ubuntu.com/ErrorTracker/PhasedUpdates
您可以等到分阶段结束(目前为 50%)或安装提供版本号的软件包:
任何一个
sudo apt install libpulse-dev=1:15.0+dfsg1-1ubuntu2 libpulse0=1:15.0+dfsg1-1ubuntu2 libpulse-mainloop-glib0=1:15.0+dfsg1-1ubuntu2
或者
sudo apt install libpulse-dev=1:15.0+dfsg1-1ubuntu2.2 libpulse0=1:15.0+dfsg1-1ubuntu2.2 libpulse-mainloop-glib0=1:15.0+dfsg1-1ubuntu2.2
这似乎是个特殊情况,可能需要在 Launchpad 上提交错误报告,另请参阅https://answers.launchpad.net/ubuntu/+source/pulseaudio/+question/699828