Dependency failure while installing libboost-all-d

2019-05-10 15:38发布

Does someone know why I get the following after "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.

What can I do to change it?

2条回答
别忘想泡老子
2楼-- · 2019-05-10 16:13

I have just encountered the problem with the exact same package but it is a recurrent problem. I have solved the problem (installing libboost-all-dev) using the following methodology. It is a bit tedious but works fine in around 5 to 10 minutes (depending on the number of dependencies). In fact, you had almost done all the way to the solution.

For each package in your list of unmet dependencies, you have to follow the dependency until you find the package which can not be installed because it has another more recent package available. Then you force its installation in a downgraded version using the = sign with apt-get. For example in your case: apt-get install libboost1.54-dev=1.54.0-4ubuntu3

Once you have done all dependencies, you will be able to install your primary package (libboost-all-dev).

I do not know if there is a better (faster) way to do it.

查看更多
Evening l夕情丶
3楼-- · 2019-05-10 16:20

You can fix it by using 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
查看更多
登录 后发表回答