计算化学公社
标题:
Ubuntu下使用ifort编译config不识别的解决方案
[打印本页]
作者Author:
snljty2
时间:
2022-12-6 15:53
标题:
Ubuntu下使用ifort编译config不识别的解决方案
Ubuntu 20.04
2021-R2,已加载Intel OneAPI compiler和Intel OneAPI MKL。之前在./config步提示输入编译器的时候,输入ifort总提示不识别,然后怎么改config等脚本都不行。
今天终于发现问题在于Ubuntu默认不带csh,而GAMESS-US安装需要csh。于是很多人都顺手
sudo apt install csh
复制代码
了。刚才
file `which csh`
复制代码
追下去看了一下,发现原来是Ubuntu下apt install csh装的c-shell是BSD的,而CentOS等都是GNU的,有大量BSD不支持的GNU extensions,估计是GAMESS的编译用脚本里面哪里用了这些拓展。解决方案是
sudo apt remove csh
sudo apt install tcsh
复制代码
用tcsh代替BSD的csh,重新编译就没有问题了。
作者Author:
zjxitcc
时间:
2025-1-5 16:24
本帖最后由 zjxitcc 于 2025-1-5 16:26 编辑
这两天碰到一个集群上的所有子节点系统是Ubuntu,没有csh和tcsh,由于是集群上的子节点,个人运行sudo apt install tcsh不方便,于是我开始折腾自己编译tcsh。。。辛酸。简单记载过程如下,以便后人碰到类似问题可以查到
到如下两个网站上下载ncurses-6.1.tar.gz和tcsh-6.24.00.tar.gz压缩包
https://astron.com/pub/tcsh
https://ftp.gnu.org/gnu/ncurses
版本可以用更新的,但不建议更旧。
编译ncurses
tar -zxf ncurses-6.1.tar.gz
cd ncurses-6.1/
./configure --prefix=$HOME/software/ncurses6 --with-shared
make -j64
make install
复制代码
在个人~/.bashrc中写ncurses环境变量
export PATH=$HOME/software/ncurses6/bin:$PATH
export LD_LIBRARY_PATH=$HOME/software/ncurses6/lib:$LD_LIBRARY_PATH
export CPATH=$HOME/software/ncurses6/include:$CPATH
复制代码
退出重登,使环境变量生效。接着编译tcsh
tar -zxf tcsh-6.24.00.tar.gz
cd tcsh-6.24.00/
mkdir build
cd build/
export LDFLAGS="-L$HOME/software/ncurses6/lib"
../configure --prefix=$HOME/software/tcsh6
make -j64
make install
ln -s $HOME/software/tcsh6/bin/tcsh $HOME/software/tcsh6/bin/csh
复制代码
注意中间有一行export LDFLAGS不要漏了。在个人~/.bashrc中写tcsh环境变量
export PATH=$HOME/software/tcsh6/bin:$PATH
复制代码
退出重登,使环境变量生效。运行
which csh
复制代码
发现已经有csh,并且在自己编译的路径下。打开gamess/rungms文件,将第一行
#!/bin/csh -f
复制代码
修改为
#!/public/home/jxzou/software/tcsh6/bin/csh -f
复制代码
注意,jxzou是我的用户名,具体路径请根据自己的用户名和安装路径修改。完成,可以在这系列子节点上使用GAMESS。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3