我刚刚安装了Ubuntu服务器12.04 LTS。 我正在尝试安装build-essential包; 但是,当我尝试安装它时收到以下错误:
Some packages could not be installed. this may mean that you have an impossible situation or it you are using the unstable distribution that some required packages have not yer been created or been moved out of Incoming. The following information may help to resolve this situation: The following packages have unmet dependencies: build-essential : Depends: gcc (>= 4:4.4.3) but it is not installable Depends: g++ (> 4:4.4.3) but it is not installable E: Unalbe to correct problems, you have held broken packages.
在安装之前,我一定要做一个apt-get更新。 但仍然不起作用。
[编辑]
基于peterh的build议:
/etc/apt/sources.list的内容如下:
enter code here # deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release amd64 (20140806.1)]/ dists/precise/main/binary-i386/ # deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release amd64 (20140806.1)]/ dists/precise/restricted/binary-i386/ # deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release amd64 (20140806.1)]/ precise main restricted #deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release amd64 (20140806.1)]/ dists/precise/main/binary-i386/ #deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release amd64 (20140806.1)]/ dists/precise/restricted/binary-i386/ #deb cdrom:[Ubuntu-Server 12.04.5 LTS _Precise Pangolin_ - Release amd64 (20140806.1)]/ precise main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted ## NB software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://us.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe ## NB software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse ## NB software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse deb-src http://us.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu precise-security main restricted deb-src http://security.ubuntu.com/ubuntu precise-security main restricted deb http://security.ubuntu.com/ubuntu precise-security universe deb-src http://security.ubuntu.com/ubuntu precise-security universe deb http://security.ubuntu.com/ubuntu precise-security multiverse deb-src http://security.ubuntu.com/ubuntu precise-security multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. # deb http://archive.canonical.com/ubuntu precise partner # deb-src http://archive.canonical.com/ubuntu precise partner ## Uncomment the following two lines to add software from Ubuntu's ## 'extras' repository. ## This software is not part of Ubuntu, but is offered by third-party ## developers who want to ship their latest software. deb http://extras.ubuntu.com/ubuntu precise main deb-src http://extras.ubuntu.com/ubuntu precise main
sudo apt-get install gcc生成:
sudo apt-get install gcc Reading package lists... Done Building dependency tree Reading state information... Done Package gcc is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'gcc' has no installation candidate
sudo dpkg -C返回任何内容。
/etc/apt/sources.list ,也许你有多个发行版? apt-get install gcc命令来安装这个testing。 dpkg -C命令清理软件包。 如果有损坏或未configuration的软件包,请使用dpkg --configure -a或通过删除/重新安装它们来修复它们。 经常发生,你在远程仓库中有多个版本的软件包。 例如,你有一个从testing和稳定的必要构build,但相应的gcc只能从stable获得。 结果是:
类似的问题,你可以很容易地检查一个简单的apt-cache show build-essential 。 如果你有多个软件包(有不同的版本),你可以考虑尝试一下。 apt-get install packagename=1.2.3会为你安装版本为1.2.3的软件包。
我build议用你的命令的输出来扩展你的问题。
find了解决办法。 经过更多的实验后,我发现使用apt来安装其他软件包是不可能的。 然后我注意到,在运行apot-get更新时,存在哈希总和不匹配错误。 最后我发现运行下列命令解决了我的问题:
apt-get clean rm -rf /var/lib/apt/lists/* apt-get clean apt-get update apt-get upgrade
运行后,我现在能够安装生成必要的软件包。