【问题标题】:cannot compile after installing new g++安装新 g++ 后无法编译
【发布时间】:2015-09-27 09:45:39
【问题描述】:

我已经安装了最新版本的 g++。 我从here 下载了一个 rpm,并使用以下命令将其安装在我的 Ubuntu 机器上(版本为 Precise 12.04 LTS)

rpm -i gcc-c++-5.2.1-0.20150811.6.mga6.x86_64.rpm
sudo alien -i gcc-c++-5.2.1-0.20150811.6.mga6.x86_64.rpm

可以看到新版本的编译器已经安装在了

/usr/bin/g++-5.2.1

但是当我尝试编译文件时,我收到以下错误

/usr/lib/gcc/x86_64-mageia-linux-gnu/5.2.1/cc1plus: 
error while loading shared libraries: libisl.so.13: 
cannot open shared object file: No such file or directory

我是否必须安装更多 rpm 或更多文件? 我在我的电脑上搜索过,我真的没有那个共享库。

【问题讨论】:

  • 永远不要混合不同 Linux 发行版的软件包。撤消您所做的一切,并搜索提供 g++5.2 的 PPA。
  • 可能是因为配置不匹配。检查您是否有 libisl.so,如果有,请尝试查找如何更改查找路径。如果你没有它,你知道该怎么做。
  • 如果你想使用不同版本的GCC 你应该自己从源代码编译。 gcc.gnu.org/install/index.html
  • @Galik:我同意。另一个有用的链接(我希望在我第一次构建 gcc 之前就知道)是:gcc.gnu.org/wiki/InstallingGCC

标签: c++ compiler-errors ubuntu-12.04


【解决方案1】:

好吧,很遗憾你做了非常糟糕的事情。您混合了来自不同 Linux 发行版的软件包,这意味着您可能已经破坏了您的系统。我不知道如何正确卸载你安装的 rpm 包。实际上,我不知道您是如何在 Ubuntu 上安装 rpm 的。如果你有rpm 包管理器,我不知道你为什么需要使用alien,它基本上将rpm 转换为deb,如果你有rpm 包管理器,这是不必要的。因此,撤消您所做的事情可能会很困难。如果我是你,我会使用rpm -e <package-name> 来卸载软件包,并注意外星人没有这样的卸载选项。如果你有幸从垃圾中拯救你的系统,那么我会去搜索一个包含g++5.2 的 PPA(个人包存档)。由于 PPA 原生于 deb 包管理器,它是 Ubuntu 的包管理器,因此您通常可以毫无损害地使用它们,它们会自动安装所需的依赖项。

但不幸的是,我找不到包含最新版本 g++ 的 PPA。所以,你必须以 5.1 解决。

以下是说明:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5

如果你想要一个带有滚动边缘版本的 Linux 发行版,你可能想看看 Arch Linux,它默认提供 g++5.2。您可能希望将其安装在虚拟机上。

或者您可能想从源代码安装 g++。谷歌!

【讨论】:

  • 您好 jnbrq,非常感谢您的回复。要安全删除,您必须使用“突触”并单击“与 Alien 一起安装的 RPM 软件包”窗格以安全删除。
  • @AbruzzoForteeGentile 嗯,好久没用alien了,不知道能不能和synaptic结合使用。
  • 嗯..我不能说我对此一无所知.. :) 我第一次使用 Ubuntu。无论如何,不​​管你的东西今天对我有什么帮助,所以周日快乐吧!周末愉快,再次感谢!
【解决方案2】:

根据用户“jnbrq”关于在 ubuntu 中使用 PPA 的建议,我做了以下操作

安装突触删除外星人转换的RPM包

 sudo apt-get install synaptic

然后添加正确的 PPP 允许安装最新版本的 g++

 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
 sudo apt-get update

然后再次突触搜索g++-5.1并安装最新版本。

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2020-03-19
    • 2018-02-28
    • 2019-09-28
    • 1970-01-01
    • 2021-05-13
    • 2015-04-03
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多