计算化学公社

标题: VASP 5.4.4编译出错 [打印本页]

作者
Author:
Jacken_zzq    时间: 2017-11-7 11:52
标题: VASP 5.4.4编译出错
编译5.4.4,出现如下错误:
[zzq@br006 vasp.5.4.4]$ make all
mkdir build/std ; \
cp src/makefile src/.objects makefile.include build/std ; \
make -C build/std VERSION=std all
make[1]: Entering directory `/home/zzq/vasp.5.4.4/build/std'
rsync -ru ../../src/lib .
cp makefile.include lib
make -C lib -j1
make[2]: Entering directory `/home/zzq/vasp.5.4.4/build/std/lib'
make libdmy.a
make[3]: Entering directory `/home/zzq/vasp.5.4.4/build/std/lib'
fpp -f_com=no -free -w0 preclib.F preclib.f90
mpif90 -O1 -free -names lowercase -c -o preclib.o preclib.f90
gfortran: error: lowercase: No such file or directory
gfortran: error: unrecognized command line option ‘-names’
make[3]: *** [preclib.o] Error 1
make[3]: Leaving directory `/home/zzq/vasp.5.4.4/build/std/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/zzq/vasp.5.4.4/build/std/lib'
make[1]: *** [lib] Error 2
make[1]: Leaving directory `/home/zzq/vasp.5.4.4/build/std'
make: *** [std] Error 2


makefile, makefile.include已上传到附件,请大神不吝赐教。
多谢!

作者
Author:
hakuna    时间: 2017-11-7 11:58
541和544编译应该没啥区别,如果你的库和编译器都弄好了,修改makefile可以参考一下这里:http://scc.ustc.edu.cn/zlsc/jsrj/201703/t20170330_273337.html
作者
Author:
abdoman    时间: 2017-11-7 12:53
mpif90 -O1 -free -names lowercase -c -o preclib.o preclib.f90
gfortran: error: unrecognized command line option ‘-names’

估计是参数不对。去掉-names lowercase 应该没有问题。
如果我没记错,fortran不区分大小写的。
作者
Author:
五十八    时间: 2017-11-7 14:06
13之后好像ifort编译mpi的就是mpiifort 但是您好象要用openmpi 但是您这里的不是ifort的mpif90 而是gfortran的mpif90, 如果您打算使用gfortran请使用gnu结尾的那个makefile.include 另外 -names 的lowercase是指 忽略大小写差异,并将外部名转换为小写,这个是默认值,可以省略。gfortran 用的不多 但不是使用这个option来控制的,我记着是-fno_xxxxxx什么来着
作者
Author:
卡开发发    时间: 2017-11-7 15:21
五十八 发表于 2017-11-7 14:06
13之后好像ifort编译mpi的就是mpiifort 但是您好象要用openmpi 但是您这里的不是ifort的mpif90 而是gfortra ...

13之后的intel编译器对于intel的mpi是mpiifort,其他的mpi的话mpif90或mpifort都行。LZ确实是拿着intel的makefile.include在用gnu的编译器,如果mpi本身是intel编译的话,那么用这个mpf90 -v如果是gnu的版本的话,之后的编译也会出问题。要用gfortran编译的话,mpi要重新编译,之后的makefile.include也得换成gfortran的。
作者
Author:
Jacken_zzq    时间: 2017-11-8 00:30
谢谢各位帮忙,好像是一些默认的编译器导致出错。
先运行 make veryclean
再继续编译可正常运行
作者
Author:
itpfeng    时间: 2017-11-8 00:54
Jacken_zzq 发表于 2017-11-8 00:30
谢谢各位帮忙,好像是一些默认的编译器导致出错。
先运行 make veryclean
再继续编译可正常运行

如果是从头开始编译,make veryclean应该没有任何作用啊。确认这是你一开始遇到的问题的原因?
作者
Author:
lsq0829    时间: 2018-11-8 16:31
大佬,我也遇到了类似的问题gfortran: error: lowercase: No such file or directory
gfortran: error: unrecognized command line option ‘-names’
makefile:28: recipe for target 'preclib.o' failed
make[3]: *** [preclib.o] Error 1
make[3]: Leaving directory '/home/liu/opt/vasp/vasp.5.4.4/build/std/lib'
makefile:18: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/liu/opt/vasp/vasp.5.4.4/build/std/lib'
makefile:154: recipe for target 'lib' failed
make[1]: *** [lib] Error 2
make[1]: Leaving directory '/home/liu/opt/vasp/vasp.5.4.4/build/std'
makefile:10: recipe for target 'std' failed
make: *** [std] Error 2
不知道您是怎么解决的,能帮忙解答一下吗
作者
Author:
archer    时间: 2020-9-12 13:48
解决方法在.bashrc中加入: export I_MPI_F90=ifort
原因:
输入mpif90 --version显示是GNU fortran,我的makefile中mpif90指定用gfortran编译
修改后重新查看mpif90 --version,显示是Intel Fortran,故修改成功。
作者
Author:
尔尔    时间: 2020-9-19 16:43
楼主在吗   我现在遇到了和您一样的问题,请问怎么解决的
作者
Author:
abin    时间: 2020-9-19 19:52
https://www.bilibili.com/video/BV1U4411r7xZ/

楼上可以看看。
作者
Author:
黑色桃花    时间: 2023-8-11 17:36
archer 发表于 2020-9-12 13:48
解决方法在.bashrc中加入: export I_MPI_F90=ifort
原因:
输入mpif90 --version显示是GNU fortran,我 ...

大佬厉害
作者
Author:
乐平    时间: 2023-8-11 23:58
黑色桃花 发表于 2023-8-11 17:36
大佬厉害

你编译的是 VASP 6,看这个古早的帖子没有什么意义了……
作者
Author:
黑色桃花    时间: 2023-8-13 11:12
乐平 发表于 2023-8-11 23:58
你编译的是 VASP 6,看这个古早的帖子没有什么意义了……

谢谢乐平大哥




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3