降级 GNU 编译器 Ubuntu 18.04

Mut*_*ter 7 gcc downgrade

我正在尝试使用英特尔编译器套件(英特尔 Parallel Studio XE 2018.2.046)安装 HDF5 压缩库。

使用同一个套件,我编译了 szip 和 zlib,然后我继续使用以下命令配置 HDF:

./configure --prefix=/home/modelstation/Software/Intel_Compiled/hdf5 --enable-fortran --enable-cxx --with-szip=/home/modelstation/Software/Intel_Compiled/szip --with-zlib=/home/modelstation/Software/Intel_Compiled/zlib
Run Code Online (Sandbox Code Playgroud)

配置因错误而停止:

检查 size_t 的大小...配置:错误:在`/home/modelstation/Downloads/hdf5-1.10.2'中:配置:错误:无法计算sizeof(size_t)

按照英特尔开发人员论坛上的这个解决方案,似乎应该可以通过使用命令降级 autotools 中使用的 GNU 编译器套件来规避这个错误(这显然是由于 HDF5 配置脚本和新的闪亮 Ubuntu 版本之间的冲突) :

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-6
Run Code Online (Sandbox Code Playgroud)

但是该命令会产生以下错误:

更新替代:错误:替代路径 /usr/bin/gcc-6 不存在

我认为错误是我必须在更新替代品之前实际安装一些以前版本的软件包,因此我尝试:

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

但结果是:

包 gcc-4.6 不可用,但被另一个包引用。这可能意味着该软件包丢失、已过时或只能从其他来源获得但是以下软件包替换了它:cpp-4.8 cpp-4.8:i386 E:软件包“gcc-4.6”没有候选安装

那么是否可以在 ubuntu 18.04 下将 gcc g++ 和 gfortran 降级到 4.6 版?

如果答案为“否”,我将必须格式化所有内容并安装 Ubuntu 16.04,其中不存在这些问题。

谢谢

val*_*ano 3

update-alternatives使您可以方便地在不同安装的 gcc 版本之间切换。几乎不需要降级系统 gcc,而且通常是有害的。

错误/usr/bin/gcc-6 doesn't exist表明update-alternativesgcc-6安装,因此您需要安装以下软件包(可在默认的 18.04 存储库中找到bionic/universe):

sudo apt-get install gcc-6 g++-6 g++-6-multilib gfortran-6

然后,sudo update-alternatives --install对您要使用的每个 gcc 版本重复此步骤。

每当您想改回gccBionic 7.3 附带的默认版本时,只需运行sudo update-alternatives --config gcc,这将允许您在可用的 gcc 版本和已安装的替代版本之间进行选择。

gcc-6此外,您始终可以通过指定版本后缀( 、gcc-7等)直接运行特定的 gcc 版本。