安装新的 g++ 后无法编译
cannot compile after installing new g++
我已经安装了最新版本的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 发行版的混合包,这意味着你可能已经破坏了你的系统。我不知道如何正确卸载您安装的rpm 包。实际上,我不知道你是如何在 Ubuntu 上安装 rpm
的。如果你有 rpm
包管理器,我不知道你为什么需要使用 alien
本质上将 rpm
转换为 deb
如果你有 [=11] 则这是不必要的=] 包管理器。因此,撤消您所做的事情可能很困难。如果我是你,我会 rpm -e <package-name>
卸载软件包,注意 alien 没有这样的卸载选项。如果你有幸从垃圾中拯救你的系统,那么我会去搜索一个包含 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++。 Google为之!
根据用户 'jnbrq' 关于在 ubuntu 中使用 PPA 的建议,我做了以下操作
安装synaptic去除ALien转换的RPM包
sudo apt-get install synaptic
然后添加了允许安装最新版本的 g++ 的正确 PPP
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
然后synaptic再次搜索g++-5.1并安装最新版本。
我已经安装了最新版本的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 发行版的混合包,这意味着你可能已经破坏了你的系统。我不知道如何正确卸载您安装的rpm 包。实际上,我不知道你是如何在 Ubuntu 上安装 rpm
的。如果你有 rpm
包管理器,我不知道你为什么需要使用 alien
本质上将 rpm
转换为 deb
如果你有 [=11] 则这是不必要的=] 包管理器。因此,撤消您所做的事情可能很困难。如果我是你,我会 rpm -e <package-name>
卸载软件包,注意 alien 没有这样的卸载选项。如果你有幸从垃圾中拯救你的系统,那么我会去搜索一个包含 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++。 Google为之!
根据用户 'jnbrq' 关于在 ubuntu 中使用 PPA 的建议,我做了以下操作
安装synaptic去除ALien转换的RPM包
sudo apt-get install synaptic
然后添加了允许安装最新版本的 g++ 的正确 PPP
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
然后synaptic再次搜索g++-5.1并安装最新版本。