当前超算服务器和个体服务器系统使用Ubuntu系统越来越多,尤其是在当前使用较多的系统CentOS7停止更新后,如果使用windows系统自带子系统进行计算练习时,ubuntu的安装与获取更加方便简单。
在ubuntu初始环境下安装vasp需要配置足够合适的编译环境,对于gcc和g++编译器也是有着对于基于系统版本不同的使用方法。
本文参考:
https://blog.youkuaiyun.com/snow5255/article/details/131147854
https://blog.youkuaiyun.com/u010420283/article/details/134735220
https://www.bilibili.com/opus/459956577539470449
首先进行系统更新
sudo apt-get update
sudo apt-get upgrade
安装系统默认gcc
sudo apt install gcc
sudo apt install g++
同时安装 9.5版本的gcc
sudo apt install gcc-9 (同时安装版本9)
sudo apt install g++-9 (同时安装版本9)
同时更改默认版本gcc使用
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 40
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100
注:该例子使用ubuntu最高gcc仅为gcc-11,,24.0版本的ubuntu已经默认到了gcc-13,请视情况修改代码。
查看系统默认gcc版本
gcc --version
注:如果是20.0版本或者更低的ubuntu,则最高只能安装到9.4或9.3版本的gcc,而这个版本在安装vasp时会出现报错,示例如下:
/usr/include/c++/9/bits/stl_algobase.h(59): catastrophic error: cannot open
usr/include/c++/9/bits/stl_function.h(437): error: identifier "__builtin_is_
亦或者其他问题。
这时需要降低gcc的版本为gcc-8
sudo apt install gcc-8
sudo apt install g++-8 #安装gcc-8,g++-8
同时更改默认版本gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8 #降级gcc,g++版本
如果出现
atastrophic error: cannot open source file "bits/c++config.h" #include
类似的头文件的报错,则需要在环境变量中再加一行
export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu/c++/8:$CPLUS_INCLUDE_PATH
注意请准确写入.h文件路径