在 Ubuntu 8.04 上安装 build-essential 和升级 g++ 时出现问题

在 Ubuntu 8.04 上安装 build-essential 和升级 g++ 时出现问题

我似乎遇到了依赖关系方面的问题,但我自己真的不知道如何解决这个问题。以下是输出:

~:) sudo apt-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 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.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  build-essential: Depends: g++ (>= 4:4.3.1) but 4:4.2.3-1ubuntu6 is to be installed
E: Broken packages
~:) sudo apt-get install g++
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.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  g++: Depends: cpp (>= 4:4.3.1-1ubuntu2) but 4:4.2.3-1ubuntu6 is to be installed
       Depends: gcc (>= 4:4.3.1-1ubuntu2) but 4:4.2.3-1ubuntu6 is to be installed
       Depends: g++-4.3 (>= 4.3.1-1) but it is not going to be installed
       Depends: gcc-4.3 (>= 4.3.1-1) but it is not installable
E: Broken packages
~:) 

编辑:我刚刚按照建议尝试了 aptitude 而不是 apt-get。没有用,还遇到了其他问题:

~:) sudo aptitude install build-essential
[sudo] password for ehsanul: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Building tag database... Done      
The following packages are BROKEN:
  g++ g++-4.3 libstdc++6-4.3-dev 
The following packages have been automatically kept back:
  dpkg-dev fakeroot libdns35 libisc35 linux-libc-dev patch 
The following NEW packages will be automatically installed:
  libgmp3c2 libmpfr1ldbl 
The following packages have been kept back:
  adobe-flashplugin bind9-host dnsutils gvfs gvfs-backends gvfs-fuse 
  libatm1 libbind9-30 libgvfscommon0 libisccc30 libisccfg30 liblwres30 
  libnautilus-extension1 linux-headers-2.6.24-24 
  linux-headers-2.6.24-24-generic linux-image-2.6.24-24-generic nautilus 
  nautilus-data 
The following NEW packages will be installed:
  libgmp3c2 libmpfr1ldbl 
The following packages will be upgraded:
  build-essential 
The following partially installed packages will be configured:
  timidity 
2 packages upgraded, 4 newly installed, 0 to remove and 24 not upgraded.
Need to get 775kB/6265kB of archives. After unpacking 20.3MB will be used.
The following packages have unmet dependencies:
  libstdc++6-4.3-dev: Depends: gcc-4.3-base (= 4.3.2-1ubuntu11) which is a virtual package.
                      Depends: libstdc++6 (>= 4.3.2-1ubuntu11) but 4.2.4-1ubuntu4 is installed.
  g++-4.3: Depends: gcc-4.3-base (= 4.3.2-1ubuntu11) which is a virtual package.
           Depends: gcc-4.3 (= 4.3.2-1ubuntu11) which is a virtual package.
           Depends: libc6 (>= 2.8~20080505) but 2.7-10ubuntu4 is installed.
  g++: Depends: cpp (>= 4:4.3.1-1ubuntu2) but 4:4.2.3-1ubuntu6 is installed.
       Depends: gcc (>= 4:4.3.1-1ubuntu2) but 4:4.2.3-1ubuntu6 is installed.
       Depends: gcc-4.3 (>= 4.3.1-1) which is a virtual package.
Resolving dependencies...
The following actions will resolve these dependencies:

Keep the following packages at their current version:
build-essential [11.3ubuntu1 (hardy, now)]
g++ [4:4.2.3-1ubuntu6 (hardy-updates, now)]
g++-4.3 [Not Installed]
libstdc++6-4.3-dev [Not Installed]

Score is -9852

Accept this solution? [Y/n/q/?] 

答案1

对我来说,这看起来像是混乱的存储库。Ubuntu 8.04 LTS 就是这样不是有 GCC 4.3.x,只有 4.2.x,而且它还没有移植回来。尝试检查 /etc/apt/sources.list 以查找任何非 hardy 存储库。

答案2

尝试使用 aptitude,它在处理软件包依赖关系时可以更加智能。

sudo aptitude update && aptitude install build-essential

更新

我进行了一些谷歌搜索,发现上述解决方案至少对另一个遇到同样问题的人有效。(见线程底部)

关联:http://ubuntuforums.org/showthread.php?t=940314

答案3

我赞同 /etc/apt/sources.list 的建议。你能发布你的建议吗?我的第一个猜测是那里出了问题。

答案4

我不再运行任何 8.04 机器,但看起来你需要先安装 gcc-4.3 才能继续。你从“apt-cache search gcc-4.3”或“sudo apt-get install gcc-4.3”得到任何结果了吗?

您的 /etc/apt/sources.list 和 /etc/apt/sources.list.d/* 文件包含什么?除了主要列表之外,您还列出了 universe 或 multiverse 吗?您是否也启用了 backports repo?

快速浏览了一下 hardy 的几个 Package.gz 文件,我没有看到任何关于 gcc-4.3 的内容,但我没有看太远,因为我不知道您使用的是哪些 repos 和 dists。

祝你好运

相关内容