ubuntu 12.04 libudev-dev-won';由于依赖关系,无法安装 我有一些C++代码,使用UDEV库接收HooPoTCH事件。它在Ubuntu 10.04中运行良好。唯一的先决条件是libudev开发包: sudo apt get安装libudev dev

ubuntu 12.04 libudev-dev-won';由于依赖关系,无法安装 我有一些C++代码,使用UDEV库接收HooPoTCH事件。它在Ubuntu 10.04中运行良好。唯一的先决条件是libudev开发包: sudo apt get安装libudev dev,ubuntu,usb,udev,Ubuntu,Usb,Udev,但当我尝试在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 situat

但当我尝试在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.
在这里找到了一个很好的链接: 但是没有快乐

谷歌说这对其他人来说是一个扣篮

谢谢你在这方面的帮助, 约翰

这是解决办法

当您阅读以下内容时:

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

(这就是“但是175-0ubuntu9.3将要安装””试图说的)

换句话说:

  • 已安装更新版本的libudev0
  • 我试图安装的libudev-dev包依赖于旧版本的libudev0-older,并且它已经安装
  • 这反过来意味着我安装libudev-dev的存储库已经过时
您可以通过以下方式在/etc/apt/sources.list中当前列出的所有存储库中找到可用的包:

sudo apt-cache madison libudev-dev
sudo apt-cache madison libudev0
因此,我们终于找到了真正的问题!我在sources.list中的存储库列表缺少包含libudev dev 175-0ubuntu9.3的存储库列表

要解决此问题,请执行以下操作:

  • 转到并搜索“libudev dev”

  • 在最终的列表中,找到175-0ubuntu9.3的精确穿山甲(ubuntu 12.04)。在这种情况下,该版本处于“精确预算”之下。您可以单击以下链接:

    它显示了您想知道的关于libudev-dev的所有信息。只是它没有显示我应该使用的确切的repo url!所以我要做一点猜测

  • 向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
    
  • 刷新

    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
    
  • 安装软件包:

    sudo apt-get install libudev-dev
    
    这就像一个符咒


  • 约翰

    不。不像一个魅力

    @ubuntu:~$sudo apt cache madison libudev dev

    libudev dev | 175-0ubuntu9.8 |精确更新/主要amd64软件包

    libudev dev | 175-0ubuntu9.8 |精确更新/主要amd64软件包

    ubuntu:~$sudo apt get安装libudev dev

    帕克列斯滕·韦登·格雷森。。。弗蒂格

    阿布哈恩吉凯茨鲍姆与奥夫格贝乌特(Abhängigkeitsbaum wird aufgebaut)

    状态信息werden eingelesen。。。弗蒂格

    libudev是一个新版本

    问题是»apt get-f install«,um dies zu korrigieren:

    在这方面,我们必须:

    libudev dev:Hängt ab von:libudev0(=175-0ubuntu9.8)aber 175-0ubuntu9 soll installiert werden

    libudev0:Beschädigt:libudev0:i386(!=175-0ubuntu9)aber 175-0ubuntu9.8单独安装

    libudev0:i386:Beschädigt:libudev0(!=175-0ubuntu9.8)aber 175-0ubuntu9 soll installiert werden

    E:Unerfüllte Abhängigkeiten。如果您需要,请安装“ohne Angabe eines Pakets”(oder geben Sie eine Lösung an)

    这确实是

    apt获取下载libudev0 libudev0:i386

    sudo dpkg-i libudev0*.deb


    sudo-apt-get-upgrade

    这对我来说很有用:

  • sudo-apt-mark-hold-libudev0:i386
  • sudo apt标记hold libudev0
  • sudo易于升级
  • 然后我进入synaptic并标记libudev进行升级(可能也会通过命令行工作,只是不是我如何做到的)

  • 它将有助于消除噪音(加上它是德语),并提供解决方案的基本部分。我喜欢Nope部分。
    apt cache madison
    不需要根权限