安装 g++ ubuntu 14.04 依赖:g++-4.8 (>= 4.8.2-5~) 但不会安装

ale*_*sic 9 apt g++ 14.04

我刚刚输入:

sudo apt-get install g++
Run Code Online (Sandbox Code Playgroud)

并得到:

The following packages have unmet dependencies:
 g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

我也按照其他论坛的建议进行了尝试:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

没有解决我的问题。知道答案的请帮忙。

编辑:

根据评论中的建议,我尝试了:

sudo apt-cache policy g++-4.8
Run Code Online (Sandbox Code Playgroud)

并得到以下输出:

g++-4.8:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)

通过尝试:

sudo apt-get install g++-4.8
Run Code Online (Sandbox Code Playgroud)

我有:

The following packages have unmet dependencies:
 g++-4.8 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
           Depends: gcc-4.8 (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
           Depends: libstdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

A.B*_*.B. 9

问题是:

libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Run Code Online (Sandbox Code Playgroud)

为什么?这就是为什么:

  • libstdc++-4.8-dev 在主存储库中取决于 libstdc++-4.8-dev=4.8.2-19ubuntu1

  • libstdc++-4.8-dev在更新存储库中取决于libstdc++-4.8-dev=4.8.4-2ubuntu1~14.04,它安装在您的系统中


解决方案?

我的第一选择是,再次启用更新存储库:

  • 打开Software & Updates和选项卡Updates

  • 选择trusty-updatestrusty-security并点击Close

    如果有人有终端版本,请告诉我。

    在此处输入图片说明

  • Reload

    在此处输入图片说明

  • 安装

    sudo apt-get install g++
    
    Run Code Online (Sandbox Code Playgroud)

我的第二选择,降级

嗯,我想说,这是个坏主意=)