安裝libudev-dev,解決依賴錯誤

http://stackoverflow.com/questions/17181073/ubuntu-12-04-libudev-dev-wont-install-because-of-dependenciesubuntu

//被依賴的libudev1是11.2版本
$ dpkg -l libudev1
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                      Version                   Architecture              Description
+++-=========================================-=========================-=========================-========================================================================================
ii  libudev1:amd64                            198-0ubuntu11.2           amd64                     libudev shared library
ii  libudev1:i386                             198-0ubuntu11.2           i386                      libudev shared library

//要安裝libudev-dev這個包
zhangze@zhangze-OptiPlex-7010:/var/cache$ apt-cache search libudev-dev
libudev-dev - libudev development files
zhangze@zhangze-OptiPlex-7010:/var/cache$ dpkg -l libudev-dev
dpkg-query: no packages found matching libudev-dev

//安裝顯示依賴不知足
zhangze@zhangze-OptiPlex-7010:/var/cache$ 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: libudev1 (= 198-0ubuntu11) but 198-0ubuntu11.2 is to be installed
E: Unable to correct problems, you have held broken packages.

安裝libudev-dev,顯示依賴於共享庫libudev1,而版本(= 198-0ubuntu11)指的是當前要安裝包libudev-dev的版本是11,可是應該安裝的是11.2這個版本,vim

所以是要安裝的libudev-dev所在倉庫版本太老,而不是已安裝的libudev1版本老。ui

去http://packages.ubuntu.com/搜索libudev-dev這個包,發現它是在security這部分中的,而系統的security開關被關閉,已經好久沒有更新security的包了spa

所以在software & update中打開security update,再次apt-get install libudev-dev成功(也能夠vim /etc/apt/sources.list添加security源)code

安裝完之後的最終結果是兩個包所有更新到11.2版本,說明以前的問題是:libudev1已經在最新的11.2版本,orm

而要安裝的libudev-dev在原來的倉庫中是老版本11的,老版本不能依賴於新版本,添加security倉庫,下載的是最新版本的libudev-dev包blog

zhangze@zhangze-OptiPlex-7010:/var/cache$ dpkg -l libudev-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                      Version                   Architecture              Description
+++-=========================================-=========================-=========================-========================================================================================
ii  libudev-dev                               198-0ubuntu11.2           amd64                     libudev development files
zhangze@zhangze-OptiPlex-7010:/var/cache$ dpkg -l libudev1
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                      Version                   Architecture              Description
+++-=========================================-=========================-=========================-========================================================================================
ii  libudev1:amd64                            198-0ubuntu11.2           amd64                     libudev shared library
ii  libudev1:i386                             198-0ubuntu11.2           i386                      libudev shared library
相關文章
相關標籤/搜索