gpt4 book ai didi

ubuntu 12.04 libudev-dev 由于依赖关系无法安装

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:48 25 4
gpt4 key购买 nike

我有一些使用 udev 库接收热插拔事件的示例 C++ 代码。它在 Ubuntu 10.04 中运行良好。唯一的先决条件是 libudev-dev 包: sudo apt-get 安装 libudev-dev

但是当我尝试在 12.04 中安装该软件包时,我得到:

sudo apt-get install libudev-dev
Reading package lists... Done
Building dependency tree
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 to resolve the situation:

The following packages have unmet dependencies:
libudev-dev : Depends: libudev0 (= 175-0ubuntu9) but 175-0ubuntu9.3 is to be installed
E: Unable to correct problems, you have held broken packages.

这似乎暗示我应该安装 libudev0,所以:

sudo apt-get install libudev0
Reading package lists... Done
Building dependency tree
Reading state information... Done
libudev0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我不确定如何从这里开始。 libudev-dev 依赖于 libudev0 但它已经到位,所以......下一步是什么?

请注意,以下存储库在 sources.list 中未被注释,我已经完成了 apt-get 更新:

deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted    
deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted
deb http://us.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe

一些网站已经指出我应该做 -f:

sudo apt-get -f install 
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

在这里找到了一个很好的链接: https://askubuntu.com/questions/140246/how-do-i-resolve-unmet-dependencies但没有快乐。

Google 说这对那里的其他人来说是一个灌篮......

感谢您对此的任何帮助,约翰

最佳答案

这是解决方案。

当您阅读以下内容时:

The following packages have unmet dependencies:
libudev-dev : Depends: libudev0 (= 175-0ubuntu9) but 175-0ubuntu9.3 is to be installed
E: Unable to correct problems, you have held broken packages.

这意味着我要安装的 libudev-dev 包依赖于包:

libudev0 version 175-0ubuntu9

(这就是“(= 175-0ubuntu9)”试图表达的意思)

但是libudev0版本175-0ubuntu9.3已经安装好了。

(这就是“but 175-0ubuntu9.3 is to be installed”的意思)。

换句话说:

  • 已安装更新版本的 libudev0。
  • 我尝试安装的 libudev-dev 包依赖于旧版本的 libudev0,并且它已经安装。
  • 这反过来意味着我从中安装 libudev-dev 的存储库已过时。

您可以通过以下方式在/etc/apt/sources.list 中当前列出的所有存储库中找到可用的软件包:

sudo apt-cache madison libudev-dev
sudo apt-cache madison libudev0

所以我们终于解决了真正的问题!我在 sources.list 中的存储库列表缺少包含 libudev-dev 175-0ubuntu9.3 的存储库。

修复它:

  1. 转到 http://packages.ubuntu.com并搜索“libudev-dev”

  2. 在结果列表中找到 Precise Pangolin (ubuntu 12.04) 的 175-0ubuntu9.3。在这种情况下,该版本位于“precise-udpates”之下。您可以点击链接:

    http://packages.ubuntu.com/precise-updates/libudev-dev

    它显示了您想知道的有关 libudev-dev 的所有信息。除了它没有显示我应该使用的确切 repo 网址!所以我要进行一些猜测...

  3. 将仓库添加到 apt

    sudo gedit /etc/apt/sources.list
    [ add these two repos ]
    deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main
    deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main
  4. 刷新

    sudo apt-get update
    sudo apt-cache madison libudev-dev
    [you should see libudev-dev 175-0ubuntu9.3 in the output]
    libudev-dev | 175-0ubuntu9.3 | http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
  5. 安装包:

    sudo apt-get install libudev-dev

    这就像一个魅力!

约翰

关于ubuntu 12.04 libudev-dev 由于依赖关系无法安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17181073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com