我正在尝试使用英特尔编译器套件(英特尔 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)
按照英特尔开发者论坛上的这个解决方案,似乎应该可以通过使用命令降级 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
但是该命令会产生以下错误:
更新替代:错误:替代路径 /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,其中不存在这些问题。
谢谢
update-alternatives
为您提供在不同已安装 gcc 版本之间切换的便利。几乎从不需要降级系统 gcc,而且通常是有害的。错误提示
/usr/bin/gcc-6 doesn't exist
未安装,因此您只需安装以下软件包(可在默认的 18.04 存储库中找到):update-alternatives
gcc-6
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 版本。以下是此要点中有关如何降级的说明
gcc
。Ubuntu 18.04 将 gcc 版本降级到 5.5 版本
首先查看自己的gcc版本,Ubuntu18.04上默认是7.3
再次查看gcc版本,可以看到已经降级了。
还原此操作
如果您改变主意,您可以随时升级到最新版本。