在ubuntu核心14.04上安装libboost-all-dev时依赖性失败

时间:2015-03-10 07:55:49

标签: linux boost embedded-linux ubuntu-14.04

有人知道为什么我在“sudo apt-get install libboost-all-dev”后得到以下内容:

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:
 libboost-all-dev : Depends: libboost-context-dev but it is not going to be installed
                    Depends: libboost-coroutine-dev but it is not going to be installed
                    Depends: libboost-exception-dev but it is not going to be installed
                    Depends: libboost-graph-dev but it is not going to be installed
                    Depends: libboost-graph-parallel-dev but it is not going to be installed
                    Depends: libboost-locale-dev but it is not going to be installed
                    Depends: libboost-log-dev but it is not going to be installed
                    Depends: libboost-math-dev but it is not going to be installed
                    Depends: libboost-mpi-dev but it is not going to be installed
                    Depends: libboost-mpi-python-dev but it is not going to be installed
                    Depends: libboost-random-dev but it is not going to be installed
                    Depends: libboost-signals-dev but it is not going to be installed
                    Depends: libboost-timer-dev but it is not going to be installed
                    Depends: libboost-wave-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

我可以做些什么来改变它?

2 个答案:

答案 0 :(得分:4)

您可以使用aptitude修复它:

sudo apt-get install aptitude

sudo aptitude install libboost-all-dev

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

The following actions will resolve these dependencies:

Downgrade the following packages:

1)     libboost-date-time1.54.0 [1.54.0-4ubuntu3.1 (now) -> 1.54.0-4ubuntu3 (trusty)]

2)     libboost-python1.54.0 [1.54.0-4ubuntu3.1 (now) -> 1.54.0-4ubuntu3 (trusty)]

3)     libboost-system1.54.0 [1.54.0-4ubuntu3.1 (now) -> 1.54.0-4ubuntu3 (trusty)]

4)     libboost-thread1.54.0 [1.54.0-4ubuntu3.1 (now) -> 1.54.0-4ubuntu3 (trusty)]

5)     libpci3 [1:3.2.1-1ubuntu5.1 (now) -> 1:3.2.1-1ubuntu5 (trusty)]

6)     pciutils [1:3.2.1-1ubuntu5.1 (now) -> 1:3.2.1-1ubuntu5 (trusty)]

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

The following packages will be DOWNGRADED:
libboost-date-time1.54.0 libboost-python1.54.0 libboost-system1.54.0 
libboost-thread1.54.0 libpci3 pciutils 

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

Do you want to continue? [Y/n/?] y

答案 1 :(得分:1)

我刚刚遇到了完全相同的包的问题,​​但这是一个经常出现的问题。我已使用以下方法解决了问题(安装libboost-all-dev)。它有点乏味但在大约5到10分钟内工作正常(取决于依赖项的数量)。事实上,你几乎已经完成了解决方案。

对于未满足的依赖项列表中的每个程序包,您必须遵循该依赖项,直到找到无法安装的程序包,因为它有另一个更新的程序包可用。然后使用带有apt-get的=符号强制安装在降级版本中。例如在你的情况下:apt-get install libboost1.54-dev = 1.54.0-4ubuntu3

完成所有依赖项后,您将能够安装主程序包(libboost-all-dev)。

我不知道是否有更好(更快)的方法。