ubuntu24.04中安装Molden

Molden是电子结构计算前后处理的优秀软件,而且开源免费。但是似乎在ubuntu上面编译它并不是非常直接。本文主要参考Reddit 上的一个解决方法,针对我目前用的系统给出编译和安装流程

  1. 根据Molden文档安装依赖库

    sudo apt-get install gfortran
    sudo apt-get install libgl1-mesa-dev
    sudo apt-get install build-essential
    sudo apt-get install mesa-common-dev
    sudo apt-get install libglu1-mesa-dev
    sudo apt-get install libxmu-dev
    sudo apt-get install xutils-dev
    sudo apt-get install wget

    在我的系统中,libX11-6libX11-devlibgl1-mesa-glx无法安装,但似乎没有影响后续编译。

  2. Molden官网下载源文件并解压,目前最新版为molden7.3

    wget https://ftp.science.ru.nl/Molden/molden7.3.tar.gz
    tar xvf molden7.3.tar.gz
    cd molden7.3
  3. 修改makefile以便适应新的gfortran编译器
    根据Reddit教程的解释, 在gfortran 10版本之后, argument miss match会从warning变为error, 从而导致无法正常编译. 因此, 需要在编译时添加flag -w -fallow-argument-mismatch 来避免编译报错. 具体操作为: 将makefile, src/ambfor/makefile以及docker/makefile 三个文件中的所有FFLAGS 都加上上述flag (与原帖不同, docker/makefile文件也需要修改)

    与原教程不同的是, 我还 注释掉了makefileall tag中的$(EXTEN), 根据个人理解, 这部分应该属于install步骤而不是编译环节

  4. make

    make

    make后, 可执行文件全部包含在了bin文件夹中, 这时候编译工作就完成了.

  5. (可选) 进一步修改makefileutils中的文件以便正确安装
    首先, install tag中直接将安装目录设置为了/usr/loc/bin, 如果需要安装到本地目录, 如需更换, 可以更改. 同时需要联动更改的还有extent2标签中的/usr/local/bin文件夹的位置. 同时, 应该删除install中的sudo 以提升安全性
    然后修改utils/register_extension.sh, 将DIR的赋值改为DIR=$1来正确读取脚本的argument. 同时注释掉最后的sudo cp ~/.local/share/applications/$APP.desktop /usr/share/app-install/desktop/$APP:$APP.desktop
    最后make install进行安装.

可以直接下载修改后的molden文件, 并更改makefile中的PREFIX来修改安装目录, 方便安装.

此条目发表在积少成多分类目录。将固定链接加入收藏夹。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注