我在之前安装 Octave 时遇到了编译问题。我卸载了它并尝试使用以下方法重新安装:
sudo apt-get install octave
当我执行此操作时,出现以下错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
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 resolve the situation:
The following packages have unmet dependencies:
octave : Depends: libcholmod2.1.2 but it is not going to be installed
Depends: liboctave4 (= 4.2.1-2~octave~trusty2) but it is not going to be installed
Recommends: default-jre-headless but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
我查看了此网站上的许多相关文章,并尝试了他们推荐的修复方法,但无济于事。当我尝试安装 Octave 安装中缺少的依赖项(如 libcholmod2.1.2 和 liboctave4)时,我遇到了更多缺少依赖项的问题,并越陷越深。
如有任何建议的修复方法,我们将不胜感激。
答案1
如果您在安装操作系统后升级了任何软件包,那么当您尝试安装依赖于该软件包的任何内容时,可能会导致问题。
首先要尝试的是apt-get install -f octave
。这将使 apt 尝试修复该问题。
如果这不起作用,我会尝试将失败的所有依赖项降级为操作系统自带的版本。(这在过去对我来说很有效。)
为此,您可以使用 Synaptic 软件包管理器。只需使用“软件包”>“强制版本...”菜单项或按Ctrl+ E,然后选择标有您的版本代码名称的版本(例如“trusty”)。这不会破坏任何东西,毕竟,您可以随时再次升级软件包。
或者,您可以尝试使用aptitude
。它将尝试为您解决问题。(我自己从未使用过它,但值得一试。)