我的搞砸了安装提升

时间:2014-02-02 12:34:10

标签: ubuntu boost apt

在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).

最后一行:尝试&apt-get -f install'没有包(或指定解决方案)。

好。

#> 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)

如何摆脱这种混乱局面?感谢。

7 个答案:

答案 0 :(得分:9)

有些命令是多余的,但有一个很好的衡量标准:

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

apt-get clean稍加注意 - 它会清除/var/cache/apt/archives中检索到的包的本地存储。你不应该在那里存储任何东西,也不应该存储任何应用程序,但只要知道缓存就会消失。

答案 1 :(得分:2)

我刚才有同样的问题。 要解决它

  1. Ubuntu packages site
  2. 下载libboost1.54-dev deb软件包
  3. 强制通过

    覆盖冲突

    sudo dpkg -i --force-overwrite libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb

  4. 然后安装失败的软件包

    sudo apt-get install -f

  5. 使用

    删除boost 1.53

    sudo apt-get autoremove

答案 2 :(得分:2)

这个repo https://launchpad.net/~boost-latest/+archive/ubuntu/ppa包含了libboost的所有版本并为我修复了它!

sudo add-apt-repository ppa:boost-latest/ppa sudo apt-get update

现在您可以安装所需的版本,编写本文时的最新版本是1.55:

sudo apt-get install libboost1X.55-all-dev

答案 3 :(得分:1)

我最初尝试过虚拟接口的建议并坚持不懈,但仍然遇到了问题。

最终我检查了包装上的错误:libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb

所以我跑了:sudo dpkg -i --force-overwrite /var/cache/apt/archives/libboost1.54-dev_1.54.0-2ubuntu3_amd64.deb

然后我运行了apt-get update和apt-get upgrade,所有人都对系统感到满意。

apt-get升级非常重要,因为它可以再次正确设置各种库。

答案 4 :(得分:1)

对我来说,它可以手动安装不会安装的软件包" (按此顺序):

sudo apt-get install libboost1.46-dev sudo apt-get install libboost-dev sudo apt-get install libboost-all-dev

安装工作正常,但我还没有测试包是否正常工作。

答案 5 :(得分:0)

我尝试了@mockinterface的目的,但synaptic。尽可能完全删除任何提及boost的内容,并注明了被杀的内容(奇怪的是,aptitude,其中有几个)以后重新安装。

然后正如@Igor R.在评论中建议的那样,从源代码构建boost

那时/usr/local/lib/liboost*.so*充满了各种东西,我相信它比Debian / Ubuntu存储库更老。

然而,删除所有 boost似乎是一项艰巨的任务,因为libreoffice,compiz和unity取决于libboost-date-time1.54.0libboost-program-options1.46.1和{ {1}}。

答案 6 :(得分:0)

sudo aptitude install libboost1.55-all-dev

这最终对我有用。