libpulse-dev 版本与 libpulse 版本不匹配

libpulse-dev 版本与 libpulse 版本不匹配

我一直在尝试安装 libsdl1.2-dev,但遇到了它的一个依赖项问题。当我尝试在 Synaptic 中标记 libsdl1.2-dev 进行安装时,失败并显示错误:“依赖:libpulse-dev,但不会安装。”

通过尝试手动安装 libpulse-dev,我确定问题在于提供的 libpulse 版本是较新的版本比 libpulse-dev 提供的版本要差;显然有人将较新版本的 pulseaudio 二进制文件推送到存储库,而没有同时推送新版本的头文件。因此,Synaptic 检测到两个软件包之间的版本不匹配,并拒绝安装 libpulse-dev。

我做了一些研究并考虑了以下选择:

1:降级我的 libpulse 版本以匹配 libpulse-dev 的版本。

2:使用 apt-get 下载 libpulse-dev忽略其依赖关系

但是,在我看来,这两种选择都不是好的解决方案。Synaptic 处理降级远不如处理升级那么优雅;当我将 libpulse 标记为降级时,它会卸载数十个程序。我还担心降级 libpulse 可能会让我陷入依赖地狱,其他程序也需要降级才能与旧版本的 libpulse 兼容,尽管我太害怕去发现这是否真的如此。第二种选择似乎也很危险,因为新版本的 pulseaudio 中可能已经更改了一些结构和函数原型。除非我确信没有接口更改,否则我宁愿不使用过时的头文件,因为这些更改可能会导致日后出现细微的、令人头痛的错误。

那么,有人知道解决这个问题的更安全的方法吗?出于各种原因,我仍然在运行 12.04LTS,看看这是否会对情况产生影响。

附加信息:

 apt-cache policy libsdl1.2-dev
 libsdl1.2-dev:
   Installed: (none)
   Candidate: 1.2.14-6.4ubuntu3.1
   Version table:
      1.2.14-6.4ubuntu3.1 0
         500 http://archive.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
      1.2.14-6.4ubuntu3 0
         500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

 apt-cache policy libpulse-dev
 libpulse-dev:
   Installed: (none)
   Candidate: 1:1.1-0ubuntu15
   Version table:
      1:1.1-0ubuntu15 0
         500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages


 apt-cache policy libpulse0
 libpulse0:
   Installed: 1:1.1-0ubuntu15.4
   Candidate: 1:1.1-0ubuntu15.4
   Version table:
  *** 1:1.1-0ubuntu15.4 0
         100 /var/lib/dpkg/status
      1:1.1-0ubuntu15 0
         500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

答案1

所需的版本1:1.1-0ubuntu15.4位于libpulse-dev精确更新。激活此存储库的最简单方法是:

  1. 开始Software & Updates
  2. 选择选项卡Updates
  3. 选择Recommended updates (precise-updates)(在我的截图中是生动的更新,但这只是一个例子)

    在此处输入图片描述

    然后点击Close

  4. 单击Reload此对话框中

    在此处输入图片描述

  5. libsdl1.2-dev再次安装

相关内容