2014-03-26 83 views
1

我想安装升压到我的32位Ubuntu 13.10系统。然而,当我运行:无法安装升压Ubuntu 13.10

sudo apt-get install libboost-all-dev 

我得到:

The following packages have unmet dependencies. 
libboost-all-dev : Depends: libboost-graph-parallel-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 
E: Unable to correct problems, you have held broken packages. 

要尝试解决这个问题,我已经做了:

sudo apt-get remove --purge libboost-all-dev 

但它总是与

回来
Package 'libboost-all-dev' is not installed, so not removed 
The following packages were automatically installed and are no longer required: 
binutils-dev cmake cmake-data comerr-dev expect grive krb5-multidev 
libboost-filesystem-dev libboost-program-options-dev libboost-test-dev 
libcurl4-openssl-dev libexpat1-dev libgcrypt11-dev libgnutls-dev 
libgnutlsxx27 libgpg-error-dev libgssrpc4 libidn11-dev libjson-c-dev 
libjson0-dev libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libkrb5-dev 
libldap2-dev libp11-kit-dev librtmp-dev libssl-dev libssl-doc libtasn1-3-dev 
libyajl-dev 

没有什么变化。

任何想法?

+0

您可能会发现在'é解决方案:无法纠正问题,您已持有破packages.',然后有一个重试。 – Ggicci

回答

3

起初与去除损坏的包,

$>sudo apt-get install -f 
$>sudo dpkg --configure -a 
$>sudo apt-get --fix-broken install 
$>sudo apt-get --fix-missing install 
$>sudo apt-get clean 
$>sudo apt-get autoclean 
$>sudo apt-get autoremove 

然后再升级/更新软件包基地,

$>sudo apt-get update 
$>sudo apt-get upgrade 

然后,

$>sudo apt-get install libboost-all-dev 

如果错误仍然存​​在不放开,然后

$> sudo apt-get install <here goes the dependent pkg, in your case here, 'libboost-graph-parallel-dev' etc.> 

这应该可能很好。如果你仍然得到破包的一个错误,你必须检查的

的/ var/lib中/ dpkg的/状态

文件&支票是破包,然后将其删除。

欲了解更多详情,请查看here

+0

你可能想解释你的命令是伪代码。或者,把它们分开(为什么不呢?) – sehe

+0

谢谢@sehe。更新的答案。 – Aditya

+0

@Aditya我完成了所有这些步骤,但仍然无效。所以我尝试了你提到的最后一个命令(sudo apt-get update libboost-graph-parallel-dev),但我得到:“E:更新命令不带参数”但是一切似乎都已更新...... – DragonVet

2

没有一个真正奏效。
工作是在安装Symantec软件包管理器并手动检查并删除损坏的软件包。

一旦所有破损的包被删除,安装按预期工作。
尽管感谢您的帮助。

+0

我真的很喜欢安装终端,以感受Linux上的安装。尽管每个人都有不同的看法。 :) – Aditya

+0

你的意思是'synaptic',而不是赛门铁克,对不对? – isomorphismes

2

我有同样的问题,我找到了我的情况的答案。 只要运行以下

$ sudo apt-get remove libboost1.55-all-dev 
$ sudo apt-get autoremove