24小时热门版块排行榜    

查看: 1650  |  回复: 11

呀呀

金虫 (正式写手)

[求助] vasp5.lib编译错误求助 已有2人参与

请教各位大侠,我在编译vasp5.2的时候,走到这一步:
gjh@gjh-Inspiron-660:/tmp/vasp.5.lib$ make -f makefile.linux_ifc_P4

提示错误如下:
gfortran -O0 -FI -FR  -c diolib.f
diolib.f:48.67:

      IF (DUMMY.OR.((IUNIT.EQ.6).AND.(.NOT.ALLOW6)).OR.(IUNIT.EQ.5) &   
                                                                   1
错误: (1)处 IF 表达式语法错误
diolib.f:69.49:

            OPEN(UNIT=IUNIT,FILE=FNAME(1:LENGTH), &                     
                                                 1
错误: OPEN 语句在(1)处语法错误
diolib.f:72.60:

            OPEN(UNIT=IUNIT,FILE=FNAME(1:LENGTH),FORM=DFORM, &         
                                                            1
错误: OPEN 语句在(1)处语法错误
diolib.f:103.54:

      IF (DUMMY.AND.(IUNIT.NE.0).AND.(IUNIT.NE.5).AND. &               
                                                      1
错误: (1) 表达式语法错误
diolib.f:105.67:

      IF (DUMMY.OR.((IUNIT.EQ.6).AND.(.NOT.ALLOW6)).OR.(IUNIT.EQ.5) &   
                                                                   1
错误: (1)处 IF 表达式语法错误
diolib.f:126.49:

            OPEN(UNIT=IUNIT,FILE=FNAME(1:LENGTH), &                     
                                                 1
错误: OPEN 语句在(1)处语法错误
diolib.f:160.54:

      IF (DUMMY.AND.(IUNIT.NE.0).AND.(IUNIT.NE.5).AND. &               
                                                      1
错误: (1) 表达式语法错误
diolib.f:163.67:

      IF (DUMMY.OR.((IUNIT.EQ.6).AND.(.NOT.ALLOW6)).OR.(IUNIT.EQ.5) &   
                                                                   1
错误: (1)处 IF 表达式语法错误
diolib.f:183.49:

            OPEN(UNIT=IUNIT,FILE=FNAME(1:LENGTH), &                     
                                                 1
错误: OPEN 语句在(1)处语法错误
make: *** [diolib.o] 错误 1

无法获得libdmy.a的编译文件。请问该如何操作?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

呀呀

金虫 (正式写手)

makefile.linux_ifc_P4文件如下:

.SUFFIXES: .inc .f .F
#-----------------------------------------------------------------------
# Makefile for Portland Group F90/HPF compiler
# the makefile was tested only under Linux on Intel platforms
# however it might work on other platforms as well
#
# this release of vasp.4.lib contains lapack v2.0
# this can be compiled with pgf90 compiler if the option -O1 is used
#
# Mind: one user reported that he had to copy preclib.F diolib.F
#  dlexlib.F and drdatab.F to the directory vasp.4.4, compile the files
#  there and link them directly  into vasp
#  for no obvious reason these files could not be linked from the library
#
#-----------------------------------------------------------------------

# C-preprocessor
CPP     = gcc -E -P -C $*.F >$*.f
FC=gfortran

CFLAGS = -O
FFLAGS = -O0 -FI
FREE   =  -FR

DOBJ =  preclib.o timing_.o derrf_.o dclock_.o  diolib.o dlexlib.o drdatab.o


#-----------------------------------------------------------------------
# general rules
#-----------------------------------------------------------------------

libdmy.a: $(DOBJ) lapack_double.o linpack_double.o lapack_atlas.o
        -rm libdmy.a
        ar vq libdmy.a $(DOBJ)

# files which do not require autodouble
lapack_min.o: lapack_min.f
        $(FC) $(FFLAGS) $(NOFREE) -c lapack_min.f
lapack_double.o: lapack_double.f
        $(FC) $(FFLAGS) $(NOFREE) -c lapack_double.f
lapack_single.o: lapack_single.f
        $(FC) $(FFLAGS) $(NOFREE) -c lapack_single.f
lapack_atlas.o: lapack_atlas.f
        $(FC) $(FFLAGS) $(NOFREE) -c lapack_atlas.f
linpack_double.o: linpack_double.f
        $(FC) $(FFLAGS) $(NOFREE) -c linpack_double.f
linpack_single.o: linpack_single.f
        $(FC) $(FFLAGS) $(NOFREE) -c linpack_single.f

.c.o:
        $(CC) $(CFLAGS) -c $*.c
.F.o:
        $(CPP)
        $(FC) $(FFLAGS) $(FREE) $(INCS) -c $*.f
.F.f:
        $(CPP)
.f.o:
        $(FC) $(FFLAGS) $(FREE) $(INCS) -c $*.f
2楼2013-12-20 15:25:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

呀呀

金虫 (正式写手)

已经成功安装gfortran:
输入:gjh@gjh-Inspiron-660:/tmp$ gfortran -v
显示:
使用内建 specs。
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
目标:x86_64-linux-gnu
配置为:../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
线程模型:posix
gcc 版本 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
gjh@gjh-Inspiron-660:/tmp$
3楼2013-12-20 15:33:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

呀呀

金虫 (正式写手)

gjh@gjh-Inspiron-660:/tmp$ ifort -v
ifort:找不到命令
看来ifort没成功是吗?
4楼2013-12-20 15:33:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
fzx2008: 金币+2, 谢谢指导 2013-12-20 22:12:03
要用 gfortran ~ 就要用 gfortran 的 makefile
make   -f   makfile.linux_gfortran

要用 ifort 就用 ifort 的 makefile
make   -f   makefile.linux_ifc_P4

不要混搭
5楼2013-12-20 19:24:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

molucule

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
好像看到有人说vasp用intel的编译器较好编译。

[ 发自手机版 http://muchong.com/3g ]
6楼2013-12-20 23:23:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

呀呀

金虫 (正式写手)

引用回帖:
5楼: Originally posted by jpchou at 2013-12-20 19:24:51
要用 gfortran ~ 就要用 gfortran 的 makefile
make   -f   makfile.linux_gfortran

要用 ifort 就用 ifort 的 makefile
make   -f   makefile.linux_ifc_P4

不要混搭

可是没看到gfortran的makefile文件呢,只发现了ifort的makefile文件,再找找看看。

[ 发自小木虫客户端 ]
7楼2013-12-21 09:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

molucule

木虫 (小有名气)

【答案】应助回帖


liliangfang: 金币+1, 谢谢交流 2013-12-22 15:30:29
把ifort全改成gfortran,编译参数也要改。
还是装intel的编译器吧。

[ 发自手机版 http://muchong.com/3g ]
8楼2013-12-21 10:01:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

呀呀

金虫 (正式写手)

引用回帖:
8楼: Originally posted by molucule at 2013-12-21 10:01:26
把ifort全改成gfortran,编译参数也要改。
还是装intel的编译器吧。

已经安装itel编译器了,但是查找没有,不知道哪里的问题,抓狂。

[ 发自手机版 http://muchong.com/3g ]
9楼2013-12-21 10:27:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jpchou

专家顾问 (著名写手)

引用回帖:
7楼: Originally posted by 呀呀 at 2013-12-21 09:35:05
可是没看到gfortran的makefile文件呢,只发现了ifort的makefile文件,再找找看看。
...

@_@ ?!
怎可能呢~除非你不是用正版
不然你應該會看到
makefile          makefile.hp            makefile.linux_alpha        makefile.linux_pg       makefile.rs6000_p1  makefile.t3d
makefile.cray     makefile.hpux_itanium  makefile.linux_efc_itanium  makefile.linux_pgi_opt  makefile.sgi        makefile.t3e
makefile.dec      makefile.linux         makefile.linux_gfortran     makefile.nec            makefile.sp2        makefile.vpp
makefile.fujitsu  makefile.linux_abs     makefile.linux_ifc_P4       makefile.rs6000         makefile.sun

這麼多種不同的 makefile 在你的  vasp.5.lib 裡面
其中一個叫 makefile.linux_gfortran
就是 gfortran 的 makefile
10楼2013-12-21 18:02:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 呀呀 的主题更新
信息提示
请填处理意见