sudo apt-get install libstdc ++

当我尝试使用以下命令安装libstdc++

 sudo apt-get install libstdc++ 

我在ubuntu中收到以下错误。 你有什么想法吗?

 The following packages have unmet dependencies: libstdc++-4.8-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed libstdc++-4.9-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed libstdc++-5-doc : Conflicts: libstdc++-4.8-doc but 4.8.5-2ubuntu1~14.04.1 is to be installed Conflicts: libstdc++-4.9-doc but 4.9.3-8ubuntu2~14.04 is to be installed Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed Conflicts: libstdc++6-4.7-doc but 4.7.3-12ubuntu1 is to be installed libstdc++6-4.6-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed libstdc++6-4.6-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed libstdc++6-4.7-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed libstdc++6-4.7-doc : Conflicts: libstdc++6-4.4-doc but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-doc but 4.6.4-6ubuntu2 is to be installed libstdc++6-4.8-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed libstdc++6-4.8-dbg-armhf-cross : Conflicts: libstdc++6-4.7-dbg-armhf-cross but 4.7.3-11ubuntu1cross1.85 is to be installed libstdc++6-4.9-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed libstdc++6-5-dbg : Conflicts: libstdc++6-4.4-dbg but 4.4.7-8ubuntu1 is to be installed Conflicts: libstdc++6-4.6-dbg but 4.6.4-6ubuntu2 is to be installed Conflicts: libstdc++6-4.7-dbg but 4.7.3-12ubuntu1 is to be installed Conflicts: libstdc++6-4.8-dbg but 4.8.5-2ubuntu1~14.04.1 is to be installed Conflicts: libstdc++6-4.9-dbg but 4.9.3-8ubuntu2~14.04 is to be installed E: Unable to correct problems, you have held broken packages. 

首先运行这些命令

 sudo apt-get update && sudo apt-get upgrade sudo apt-get install build-essential sudo apt-get install aptitude 

然后试试

 sudo apt-get install libstdc++6 

或尝试此搜索结果并从列出的http://packages.ubuntu.com/search?keywords=libstdc%2B%2B安装一个所需的包

实际上没有一个名为libstdc++的包(可能你试图安装libstdc++6 ?)

当apt没有找到与包名称的完全匹配时,它会将给定的字符串视为正则表达式。 在这种情况下, ++会导致它尝试安装名称与libstd匹配的任何软件包,后跟一个或多个c – 其中许多冲突,如您所见。

不幸的是,我从来没有设法弄清楚如何关闭这种行为(过去使用转义字符似乎没有尝试过) – 我知道的唯一解决方案是要小心给出一个确切的包名称,其中任何正则表达式字符可能会被误解,并确保包目录是最新的,即

 sudo apt-get update sudo apt-get install libstdc++6 
 LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH export LD_LIBRARY_PATH sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 g++-4.9