24小时热门版块排行榜    

查看: 1486  |  回复: 11

MilchR

捐助贵宾 (小有名气)

[求助] QE5.2.0make出错 已有1人参与

[新入行,欢迎各路大神指点]
我在使用
- Linux Mint 17.1
- Intel Fortran and C/C++ compilers
- OpenMPI 1.6.5, icc compiled
对QE5.2.0编译时发生了错误(安装openmpi之前是可以正常串行编译的,安装之后无论并行,串行都编译不了,可以成功configure),最后几行是这样的:

fft_custom.f90(501): error #6404: This name does not have a type, and must have an explicit type.   [MPI_MAX]
    CALL MPI_ALLREDUCE( ngwl1, ngwl1_max, 1, MPI_INTEGER, MPI_MAX, gid, IERR )
----------------------------------------------------------^
fft_custom.f90(542): error #6404: This name does not have a type, and must have an explicit type.   [MPI_DOUBLE_COMPLEX]
          CALL MPI_GATHER( pw1_tmp, npw1_max, MPI_DOUBLE_COMPLEX,&
----------------------------------------------^
compilation aborted for fft_custom.f90 (code 1)
make[1]: *** [fft_custom.o] 错误 1
make[1]:正在离开目录 `/home/xxx/公共的/QE/Modules'
make: *** [mods] 错误 1

我的.bashrc文件如下:
source /opt/intel/composer_xe_2015.0.090/bin/compilervars.sh intel64
source /opt/intel/composer_xe_2015.0.090/bin/ifortvars.sh ia32
source /opt/intel/composer_xe_2015.0.090/bin/ifortvars.sh intel64
source /opt/intel/composer_xe_2015.0.090/bin/iccvars.sh ia32
source /opt/intel/composer_xe_2015.0.090/bin/iccvars.sh intel64
source /opt/intel/composer_xe_2015.0.090/bin/compilervars.sh ia32
source /opt/intel/composer_xe_2015.0.090/bin/compilervars.sh intel64
source /opt/intel/impi/5.1.0.079/bin64/mpivars.sh
source /opt/intel/composer_xe_2015.0.090/mkl/bin/intel64/mklvars_intel64.sh

export PATH=$PATH:/home/ricardo/公共的/QE/bin
export PATH=$PATH:/opt/intel/impi/5.1.0.079/intel64/bin
export MPI_HOME=/opt/openmpi-1.6.5
export PATH=$MPI_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATH

前几天看到一个类似的帖子是关于编译VASP的,不过没有看懂回复...请各位大神帮忙看看应该如何解决(make.sys已上传)
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yyyu200

金虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
liliangfang: 金币+1, 谢谢交流 2015-09-05 18:24:21
MilchR: 金币+1, 有帮助, 第一个回答,虽然感觉没说对,但是还是很感谢啊! 2015-09-05 20:22:21
感觉目录有中文会有问题

发自小木虫Android客户端
2楼2015-09-05 17:58:15
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MilchR

捐助贵宾 (小有名气)

引用回帖:
2楼: Originally posted by yyyu200 at 2015-09-05 17:58:15
感觉目录有中文会有问题

这里应该没有问题,因为以前没装openmpi的时候目录也是中文,但是可以make.提示的错误(如上)是fft有问题,感觉是openmpi的问题.
3楼2015-09-05 20:20:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MilchR

捐助贵宾 (小有名气)

引用回帖:
2楼: Originally posted by yyyu200 at 2015-09-05 17:58:15
感觉目录有中文会有问题

目录改为英文,仍然有同样的错误
4楼2015-09-05 20:28:30
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yyyu200

金虫 (小有名气)

【答案】应助回帖

错误的最初几行能看出什么吗?

发自小木虫Android客户端
5楼2015-09-05 23:44:57
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MilchR

捐助贵宾 (小有名气)

引用回帖:
5楼: Originally posted by yyyu200 at 2015-09-05 23:44:57
错误的最初几行能看出什么吗?

这是输入make all之后显示的所有行:
test -d bin || mkdir bin
cd install ; make -f extlibs_makefile libiotk
make[1]: 正在进入目录 `/home/ricardo/common/QE/install'
if test ! -d ../S3DE; then \
        (gzip -dc ../archive/iotk-1.2.beta.tar.gz | (cd ../; tar -xvf -)) ; \
        if test -e Makefile_iotk; then \
        (cp Makefile_iotk ../S3DE/iotk/src/Makefile); fi; \
        if test -e iotk_config.h; then \
        (cp iotk_config.h ../S3DE/iotk/include/iotk_config.h); fi; fi
cd ../S3DE/iotk/src; make lib+util;
make[2]: 正在进入目录 `/home/ricardo/common/QE/S3DE/iotk/src'
make[2]: 没有什么可以做的为 `lib+util'。
make[2]:正在离开目录 `/home/ricardo/common/QE/S3DE/iotk/src'
cd ../bin; ln -fs ../S3DE/iotk/tools/iotk .; \
        ln -fs ../S3DE/iotk/src/iotk.x .; \
        ln -fs ../S3DE/iotk/src/iotk_print_kinds.x .; \
        cd ../; ln -fs S3DE/iotk iotk
make[1]:正在离开目录 `/home/ricardo/common/QE/install'
cd install ; make -f extlibs_makefile libelpa
make[1]: 正在进入目录 `/home/ricardo/common/QE/install'
touch fake_libelpa.a
rm fake_libelpa.a
make[1]:正在离开目录 `/home/ricardo/common/QE/install'
( cd Modules ; make TLDEPS= all || exit 1 )
make[1]: 正在进入目录 `/home/ricardo/common/QE/Modules'
( if test -x ../install/update_version ; then \
        ../install/update_version; \
        else if test ! -f version.f90 ; then \
        cat version.f90.in > version.f90 ; fi ; fi )       
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK   -I../include -I../iotk/src -I../ELPA/src -I. -c fft_scalar.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK   -I../include -I../iotk/src -I../ELPA/src -I. -c fft_custom.f90
fft_custom.f90(501): error #6404: This name does not have a type, and must have an explicit type.   [MPI_INTEGER]
    CALL MPI_ALLREDUCE( ngwl1, ngwl1_max, 1, MPI_INTEGER, MPI_MAX, gid, IERR )
---------------------------------------------^
fft_custom.f90(501): error #6404: This name does not have a type, and must have an explicit type.   [MPI_MAX]
    CALL MPI_ALLREDUCE( ngwl1, ngwl1_max, 1, MPI_INTEGER, MPI_MAX, gid, IERR )
----------------------------------------------------------^
fft_custom.f90(542): error #6404: This name does not have a type, and must have an explicit type.   [MPI_DOUBLE_COMPLEX]
          CALL MPI_GATHER( pw1_tmp, npw1_max, MPI_DOUBLE_COMPLEX,&
----------------------------------------------^
compilation aborted for fft_custom.f90 (code 1)
make[1]: *** [fft_custom.o] 错误 1
make[1]:正在离开目录 `/home/ricardo/common/QE/Modules'
make: *** [mods] 错误 1
6楼2015-09-06 07:20:12
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

MilchR

捐助贵宾 (小有名气)

引用回帖:
5楼: Originally posted by yyyu200 at 2015-09-05 23:44:57
错误的最初几行能看出什么吗?

问了下老师,老师答复:
openmpi的问题,应该用串行的mkl数据库连接模式,一般openmpi默认大型机计算.
但是intel编译器是自带mkl的吧,所以还是不会...老师让我周一去拿intelMPI,不过我还是想试一下用openmpi
7楼2015-09-06 07:27:30
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

yyyu200

金虫 (小有名气)

【答案】应助回帖

引用回帖:
7楼: Originally posted by MilchR at 2015-09-06 07:27:30
问了下老师,老师答复:
openmpi的问题,应该用串行的mkl数据库连接模式,一般openmpi默认大型机计算.
但是intel编译器是自带mkl的吧,所以还是不会...老师让我周一去拿intelMPI,不过我还是想试一下用openmpi...

openmpi 是免费的,可以从网上下来编译,当然有IntelMPI 也可以用,编译时注意环境变量,最好不要混着用了。
8楼2015-09-06 10:36:02
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (正式写手)

本帖仅楼主可见
9楼2015-09-06 13:17:34
已阅   申请1ST强帖   编辑   查看我的主页

MilchR

捐助贵宾 (小有名气)

引用回帖:
9楼: Originally posted by wangwy13 at 2015-09-06 13:17:34
你的mpif90和openmpi是相对应的吗?

是的
10楼2015-09-06 18:53:19
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 MilchR 的主题更新
信息提示
请填处理意见