1. 程式人生 > >Ubuntu下更新源—— libgtk2.0-dev : 依賴: libgtk2.0-0 (= 2.24.30-1ubuntu1) 但是 2.24.30-1ubuntu1.16.04.2 正要被安裝等

Ubuntu下更新源—— libgtk2.0-dev : 依賴: libgtk2.0-0 (= 2.24.30-1ubuntu1) 但是 2.24.30-1ubuntu1.16.04.2 正要被安裝等

最近在UBUNTU16.04下安裝OPENCV時,參考部落格https://blog.csdn.net/cocoaqin/article/details/78163171,時在安裝依賴包時,出現以下錯誤:

錯誤

下列軟體包有未滿足的依賴關係:
libgtk2.0-dev : 依賴: libgtk2.0-0 (= 2.24.30-1ubuntu1) 但是 2.24.30-1ubuntu1.16.04.2 正要被安裝
依賴: libglib2.0-dev (>= 2.27.3) 但是它將不會被安裝
依賴: libgdk-pixbuf2.0-dev (>= 2.21.0) 但是它將不會被安裝
依賴: libpango1.0-dev (>= 1.20) 但是它將不會被安裝
依賴: libatk1.0-dev (>= 1.29.2) 但是它將不會被安裝
依賴: libcairo2-dev (>= 1.6.4-6.1) 但是它將不會被安裝
依賴: libxcursor-dev 但是它將不會被安裝
推薦: debhelper 但是它將不會被安裝
libjasper-dev : 依賴: libjasper1 (= 1.900.1-debian1-2.4ubuntu1) 但是 1.900.1-debian1-2.4ubuntu1.1 正要被安裝
E: 無法修正錯誤,因為您要求某些軟體包保持現狀,就是它們破壞了軟體包間的依賴關係。

原因分析

出現上述錯誤是因為目前使用的源的版本比較低,而要安裝的軟體的依賴的版本的較高,因此方法只能是更換源

解決方法

(1) 執行:sudo gedit /etc/apt/sources.list,將開啟檔案的源替換為
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/

xenial-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
更多源可見:http://wiki.ubuntu.org.cn/模板:16.04source
(2)更新:sudo apt-get update
更新完成後且不報錯就可以解決上述的問題了