降级 GNU 编译器 Ubuntu 18.04

降级 GNU 编译器 Ubuntu 18.04

我正在尝试使用英特尔编译器套件(英特尔 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

配置因以下错误而停止:

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

下列的此解决方案在英特尔开发者论坛上,似乎可以通过使用以下命令降级自动工具中使用的 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

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

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

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

sudo apt-get install gcc-4.6

但结果是:

软件包 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,其中不存在这些问题。

谢谢

答案1

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 版本重复此步骤。

每当您想要改回gcc指向 Bionic 7.3 附带的默认版本时,只需运行sudo update-alternatives --config gcc,它将让您在可用的 gcc 版本和已安装的替代方案之间进行选择。

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

答案2

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

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6

sudo update-alternatives --config gcc

相关内容