问题
On ubuntu
#> sudo apt-get install libboost-all-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies.
libboost-all-dev : Depends: libboost-dev but it is not going to be installed
Depends: libboost-atomic-dev but it is not going to be installed
Depends: libboost-chrono-dev but it is not going to be installed
Depends: libboost-context-dev but it is not going to be installed
Depends: libboost-date-time-dev but it is not going to be installed
Depends: libboost-exception-dev but it is not going to be installed
Depends: libboost-filesystem-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-iostreams-dev but it is not going to be installed
Depends: libboost-locale-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-program-options-dev but it is not going to be installed
Depends: libboost-python-dev but it is not going to be installed
Depends: libboost-random-dev but it is not going to be installed
Depends: libboost-regex-dev but it is not going to be installed
Depends: libboost-serialization-dev but it is not going to be installed
Depends: libboost-signals-dev but it is not going to be installed
Depends: libboost-system-dev but it is not going to be installed
Depends: libboost-test-dev but it is not going to be installed
Depends: libboost-thread-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
libboost-chrono1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-date-time1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-exception1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-filesystem1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-graph-parallel1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-graph1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-iostreams1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-locale1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-log1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-math1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-mpi1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-program-options1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-python1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-random1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-regex1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-serialization1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-signals1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-system1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-test1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-thread1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-timer1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost-wave1.54-dev : Depends: libboost1.54-dev (= 1.54.0-2ubuntu3) but it is not going to be installed
libboost1.54-all-dev : Depends: libboost1.54-dev but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
That last line: Try 'apt-get -f install' with no packages (or specify a solution).
Okay.
#> sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libboost-atomic1.53.0 libboost-chrono1.53.0 libboost-context1.53.0 libboost-graph-parallel1.53.0 libboost-graph1.53.0 libboost-iostreams1.53.0 libboost-math1.53.0 libboost-mpi1.53.0 libboost-python1.53.0 libboost-random1.53.0
libboost-serialization1.53.0 libboost-signals1.53.0 libboost-test1.53.0 libboost-timer1.53.0 libboost-tools-dev libboost-wave1.53.0 libboost1.53-tools-dev openjdk-7-jre-lib
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libboost1.54-dev
Suggested packages:
libboost1.54-doc libboost-coroutine.54-dev libboost-log.54-dev doxygen default-jdk fop
The following NEW packages will be installed
libboost1.54-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
51 not fully installed or removed.
Need to get 0 B/10.3 MB of archives.
After this operation, 101 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 253168 files and directories currently installed.)
Unpacking libboost1.54-dev (from .../libboost1.54-dev_1.54.0-2ubuntu3_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_i386.deb (--unpack):
trying to overwrite '/usr/share/boostbook/xsl/docbook-layout.xsl', which is also in package libboost1.53-tools-dev 1.53.0-6+exp3ubuntu8
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
How do I get out of this mess? Thanks.
回答1:
Some commands are redundant, but for a good measure:
sudo apt-get --purge remove libboost-all-dev libboost-dev libboost-doc
sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get clean
sudo apt-get update
sudo apt-get install libboost1.54-dev
Be slightly careful about apt-get clean - it clears the local repo of retrieved packages in /var/cache/apt/archives. You shouldn’t have stored anything there, nor any application, but just be aware that the cache will be gone.
回答2:
I had the same issue just now. To solve it
- Download the libboost1.54-dev deb package from Ubuntu packages site
Force overwrite conflicts by
sudo dpkg -i --force-overwrite libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb
Then install packages which failed
sudo apt-get install -f
Remove boost 1.53 with
sudo apt-get autoremove
回答3:
this repo https://launchpad.net/~boost-latest/+archive/ubuntu/ppa contains all the versions of libboost and fixed it for me!
sudo add-apt-repository ppa:boost-latest/ppa
sudo apt-get update
now you can install the version you desire, the latest at the time of writing is 1.55:
sudo apt-get install libboost1X.55-all-dev
回答4:
I initially tried mockinterface's suggestion above and persevered through but still got the problem.
Eventually I checked the error was on the package: libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb
So I ran: sudo dpkg -i --force-overwrite /var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb
I then ran apt-get update and apt-get upgrade and all was happy with the system again.
The apt-get upgrade is important as it sets up the various libraries again properly.
回答5:
For me, it worked installing manually the packages that "are not going to be installed" (in this order):
sudo apt-get install libboost1.46-dev sudo apt-get install libboost-dev sudo apt-get install libboost-all-dev
The installation works fine, but I didn't test out if the package works yet.
回答6:
I tried what @mockinterface was going for but with synaptic. Did complete removal wherever possible of anything mentioning boost and notated what was being killed (strangely enough, aptitude, among several) to reinstall later.
Then as @Igor R. suggested in a comment, built boost from source.
At that point /usr/local/lib/liboost*.so* was full of stuff, of I believe later vintage than the Debian/Ubuntu repository.
However it appears to be a massive undertaking to remove all of boost because libreoffice, compiz, and unity depend on libboost-date-time1.54.0, libboost-program-options1.46.1, and libboost-serialization1.46..
回答7:
sudo aptitude install libboost1.55-all-dev
This finally worked for me.
来源:https://stackoverflow.com/questions/21510633/my-apt-got-messed-up-installing-boost