卸载 gcc-5.4.0 以默认运行 gcc-4.8

卸载 gcc-5.4.0 以默认运行 gcc-4.8

我正在使用 Ubuntu 14.04。最近我决定安装 gcc-5.4.0(从源代码安装,即我下载了一个 tar 包并按照说明进行安装),因为它是运行 CAMB 和 CosmoMC 所必需的。

然而,我需要使用一个新程序:CosmoSIS(https://bitbucket.org/joezuntz/cosmosis/wiki/Manual%20Install),此代码需要gcc-4.8才能运行。

每当我尝试安装 CosmoSIS 时,代码就会崩溃,因为当它在 /usr/local/bin 中搜索 gcc-4.8 时,它与安装在同一目录中的 gcc-5.4 冲突(我是新手,我猜我犯了一个错误,将 5.4 安装在了安装 4.8 的同一目录中)

我正在寻找有关卸载 gcc-5.4 的帮助,因为我的首要任务是运行 CosmoSIS,并且需要 gcc-4.8。我知道源安装程序没有“卸载”命令,但我需要这方面的帮助:如何卸载源安装程序?

先感谢您

答案1

确实,从源代码安装时没有“卸载”命令,除非开发人员决定放入一个命令。(即,开发人员创建一个撤消所有内容的脚本并非不可能)

您唯一的选择是亲自进入/usr/local/bin/并删除每个文件。但是要删除哪些文件呢?

一个解决方案是重新安装5.4,但指定一个不是的新目录/usr/local/bin/。这将为您提供 5.4 安装的文件列表。然后,使用文件列表,进入/usr/local/bin/并手动删除它们。请注意,它可能将库和文档安装到其他目​​录中,因此要完全删除它,您必须做的不仅仅是/usr/local/bin/

另一种方法是不卸载,而是在 5.4 上安装 gcc 4-8。它们是同一个程序,只是版本不同。因此gcc4.8 版本将覆盖 5.4。“缺点”是您可能有 5.4 文件,但它们只会占用(相对较少的)空间。它将解决您的问题,您可以继续执行您想要做的事情。

在这两个选项中,我会选择第二个。剩余的 5.4 文件不会影响您的系统。相对于图像、视频或几乎任何类型的数据,它们占用的空间相当小(即编译器、库、文档可能很小)。将来,您应该将其安装在另一个目录中并手动添加符号链接。 update-alternatives如果是软件包安装的编译器,则会为您执行此操作;但对于从源代码安装的编译器,这不是一个选项。

(附言:我认为 Ubuntu 14.04 已经到了使用寿命的尽头。您可能有一天会考虑升级...如果是这样,那么外观/usr/local/bin/就不再重要了!)

答案2

只需创建到 gcc-4.8 的符号链接

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.8 gcc

现在尝试

gcc --version

看看你是否得到了想要的结果

答案3

我建议使用update-alternatives答案中描述的命令如何选择默认的gcc和g++版本?

相关内容