赵文轩
VirtualBox上搭建rockylinux安装cp2k及编译v1-20230301
2023-3-1 15:03
阅读:1473

慎重!安装过程中会出现大量问题,需要自己检索查找问题所在,灵活变通处理。

首先搭建虚拟机:

1、打开VirtualBox官网(https://www.virtualbox.org/wiki/Downloads),选择VirtualBox7.0.6platform package(写此文时最新版)下的widows hosts进行下载。以及VirtualBox7.0.6Oracle VM VirtualBox Extension pack增强包文件。

2、打开Rocklinux官网(https://rockylinux.org/download),选择Rocky9 x86_64 DVD(写此文时最新版)下载。

3、下载完后首先安装VirtualBox,完成后,在工具中找到扩展的功能,将增强包文件导入。

之后在控制中点击新建虚拟电脑,name设置完成后,类型选择Linux,版本选择Redhat64位最新版,内存设置绿色范围内都可以,硬盘空间最少20G

4、创建完成后点击Rocklinux,选择设置---系统---启动顺序中取消软驱的勾选。系统中的处理器可以给到绿色的最大范围处,显示中的显存放到最大。接下来存储中控制器IDE下的属性中的分配光驱最右边的蓝色光盘图标选择虚拟盘选择你下载的Rocky9 x86_64 DVD。之后点击OK

5、启动后上下键选择上面第一个Install Rocky Linux 9,回车运行。

6、安装中选择英文版本,先去root password设置用户名和密码,然后去network中打开网络连接,在去installation打开直接点Done,安装完之后重启系统,结束。建议关闭地理位置。

上述过程1~6大量参考B站视频BV1Tb4y1s7EH学习,仅作学习用,如有侵权,联系后立刻删除。

然后安装cp2k-2022.2:

此部分参考博文:

1.[CP2K] 给老爷机离线安装CP2K-2022.2的笔记http://bbs.keinsci.com/thread-33603-1-1.html

2.CP2K第一性原理程序在CentOS中的简易安装方法.http://sobereva.com/586

但实际遇到的问题仍需自行检索解决。

涉及到的软件包(cp2k-2022.2)下载地址:

链接:https://pan.baidu.com/s/1fj9i-Wu1PVHAy8dCmQvJqA?pwd=1rjy
提取码:1rjy
1.下载完cp2k-2022.2后,在根目录下新建一个softwares文件夹,将cp2k-2022.2.tar.bz2解压为cp2k-2022.2文件夹。

2.进入cp2k-2022.2---tools---toolchain,创建新文件夹build,将网盘下载的CP2K-2022.2/tools文件夹里的所有gzsh文件拷贝到build里。

3.返回到toolchain文件目录下,开始编译部署工具链:(终端中输入)

./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plumed=install

这一步出现了很多问题,但都可以通过使用find tools/toolchain -iname "*.log"查找报错的工具日志,打开后看问题在哪里。

具体我遇到了如下的问题并这样解决:

(1)make not found

先检查gcc有没有安装,没有就安装gcc,再检查make有没有安装,没有安装就安装。安装之后解决。yum install gcc

(2)scalapack中出现errornon-zero exit code detected

通过查找scalapack报错日志,定位到含patch语句执行无返回值,root安装patch解决。

(3) elpa中出现无法编译C语言等问题

./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plumed=install 

后加上 --with-elpa=no,未解决,但查询该功能非必须项,选择暂不安装,怀疑是intel编译器没有安装

(4) 安装gcc的时候提示权限不足

终端下输入su - 后输入密码进入root安装

(5) winlinux共享文件夹

下载WinSCP软件解决,需要使用ifconfig查询虚拟机的ip,输入用户名密码。之后右键上传即可。

4. 工具链安装完成后会返回

Note that these pre-built arch files are for the GNU compiler, users have to adapt them for other compilers.

It is possible to use the provided CP2K arch files as guidance.

代表工具链部署完成。

最后进行编译与测试:

1. 编译需要把cp2k-2022.2---tools---toolchain---install---arch里所有的文件拷到cp2k-2022.2---arch文件里。然后在终端中输入

source /home/zwx/softwares/cp2k-2022.2/tools/toolchain/install/setup

cd /home/zwx/softwares/cp2k-2022.2

make -j 12 ARCH=local VERSION="ssmp psmp"

12为核心数,大概编译15分钟就会看到以下代表编译完成的代码:

cd /home/zwx/softwares/cp2k-2022.2/exe/local; ln -sf cp2k.psmp cp2k_shell.psmp

cd /home/zwx/softwares/cp2k-2022.2/exe/local; ln -sf cp2k.psmp cp2k.popt

2. 环境变量的设置:

在终端中输入:

#source /home/zwx/softwares/cp2k-2022.2/tools/toolchain/install/setup

export PATH=$PATH:/home/zwx/softwares/cp2k-2022.2/exe/local

3. 把网盘test里的test.inp文件拷入home目录下,用test文件测试运行。

在终端中输入:

source ~/softwares/gcc9/env.sh

source /home/zwx/softwares/cp2k-2022.2/tools/toolchain/install/setup

mpirun -np 12 cp2k.popt test.inp |tee test.out

 

总结:

代码使用时要把zwx改为自己的用户名,路径以自己的实际地址为准。

发现问题再解决问题更是学习,建议使用英文系统,这样报的错容易用谷歌检索到答案。


转载本文请联系原作者获取授权,同时请注明本文来自赵文轩科学网博客。

链接地址:https://wap.sciencenet.cn/blog-3538417-1378465.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?