笔记:某个安装包依赖于另一个安装包,可能是依赖的软件包没有安装或者是依赖的软件包与当前已使用的版本不一样,版本过低则升级,依赖的软件包需要低版本的但是当前已经不存在(名字变更什么的),就要下载需要的软件包再在本地安装。
下载地址:http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/
(sudo dpkg -i XXX.deb).
遇到问题:在安装build-essential的时候
终端输入sudoapt-get install build-essential
报依赖错误如下:
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that youhave
requested an impossible situation or if you are using theunstable
distribution that some required packages have not yet beencreated
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential :Depends: dpkg-dev (>= 1.13.5) but itis not going to be installed
E: Unable to correct problems, you have held brokenpackages.
再安装dpkg-dev
终端输入sudoapt-get sintall dpkg-dev
报依赖错误:
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that youhave
requested an impossible situation or if you are using theunstable
distribution that some required packages have not yet beencreated
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
dpkg-dev : Depends: libdpkg-perl (= 1.17.5ubuntu5) but 1.17.5ubuntu5.3 isto be installed
Recommends: build-essential but it is not going to be installed
Recommends: fakeroot
Recommends: libalgorithm-merge-perl but it is not going to be installed
E: Unable to correct problems, you have held brokenpackages.
这时候发现貌似是已经安装的libdpkg-perl的版本不对。尝试继续安装libdpkg-perl
终端输入:sudoapt-get install libdpkg-perl
输出:
Reading package lists… Done
Building dependency tree
Reading state information… Done
libdpkg-perl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 notupgraded.
显然这个包已经被安装了,但是版本不对。
所以解决办法如下:
1、移除libdpkg-perl这个软件:
sudo apt-get remove libdpkg-perl
2、再安装libdpkg-perl:
sudo apt-get install libdpkg-perl
3、再安装build-essential就可以正常安装了:
#sudo apt-get install build-essential