[Pw_forum] espresso+openmpi

Giuseppe Mattioli giuseppe.mattioli at ism.cnr.it
Mon Nov 25 16:13:31 CET 2013


Dear Raha Khalili

You ask explicitly the configure script for a parallel compilation

> [khalili at localhost espresso-5.0.2]$ ./configure --enable-parallel
> MPIF90=MPIF90 cc=mpicc F77=g77

But the configure script does not detect any parallel f90 compiler on your machine. However it tries to use anyway the MPIF90 (what is it?) variable 
you set.

> configure: WARNING: MPIF90 not found: using MPIF90 anyway
...
> Parallel environment not detected \(is this a parallel machine?\).\

and therefore when you try to compile the code, the mpif90 compiler is not found. 

> make[1]: MPIF90: Command not found

If the openmpi compiler IS installed on your machine, then try to provide some meaningful path to the configure script, like, e.g. (this is MY 
mpif90...)

MPIF90=/opt/mpich2-1.2.1p1.i11.1/bin/mpif90

Otherwise, if you want to run a parallel version of QE you must install a parallel compiler. In ubuntu-like distros (ubuntu, mint, ...) you can 
download a perfectly working parallel mpif90 wrapper based on gfortran (mpich2, openmpi, ...), as well as the atlas and fftw3 libraries which allows 
for compiling a nice, almost "black box" parallel version of the QE codes. In fedora, I do not know.

HTH

Giuseppe

On Monday 25 November 2013 15:36:56 raha khalili wrote:
> Dear QE users
> I want to install espresso-5.0.2 on fedora 18 with openmpi. But an error
> happens:
> 
> [khalili at localhost espresso-5.0.2]$ ./configure --enable-parallel
> MPIF90=MPIF90 cc=mpicc F77=g77
> checking build system type... x86_64-unknown-linux-gnu
> checking architecture... x86_64
> checking for ifort... no
> checking for pgf90... no
> checking for pathf95... no
> checking for sunf95... no
> checking for openf95... no
> checking for gfortran... gfortran
> configure: WARNING: using cross tools not prefixed with host triplet
> checking whether the Fortran compiler works... yes
> checking for Fortran compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... yes
> checking for suffix of object files... o
> checking whether we are using the GNU Fortran compiler... yes
> checking whether gfortran accepts -g... yes
> checking for Fortran flag to compile .f90 files... none
> checking for MPIF90... no
> checking whether we are using the GNU Fortran compiler... no
> checking whether  accepts -g... no
> configure: WARNING: MPIF90 not found: using MPIF90 anyway
> checking version of MPIF90... unknown, assuming gfortran
> setting F90... gfortran
> setting MPIF90... MPIF90
> checking for cc... cc
> checking whether we are using the GNU C compiler... yes
> checking whether cc accepts -g... yes
> checking for cc option to accept ISO C89... none needed
> setting CC... cc
> checking how to run the C preprocessor... cc -E
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking size of int *... 8
> checking malloc.h usability... yes
> checking malloc.h presence... yes
> checking for malloc.h... yes
> checking for struct mallinfo.arena... yes
> checking whether we are using the GNU Fortran 77 compiler... yes
> checking whether g77 accepts -g... yes
> setting F77... g77
> using F90... gfortran
> setting FFLAGS... -O3 -g
> setting F90FLAGS... $(FFLAGS) -x f95-cpp-input
> setting FFLAGS_NOOPT... -O0 -g
> setting CFLAGS... -O3
> setting CPP... cpp
> setting CPPFLAGS... -P -traditional
> setting LD... MPIF90
> setting LDFLAGS... -g
> setting AR... ar
> setting ARFLAGS... ruv
> checking whether make sets $(MAKE)... yes
> checking whether Fortran files must be preprocessed... no
> checking how to get verbose linking output from g77... -v
> checking for Fortran 77 libraries of g77...
> -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6
> -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64
> -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../.. -L/lib/../lib64
> -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm
> checking for dummy main to link with Fortran 77 libraries... none
> checking for Fortran 77 name-mangling scheme... lower case, underscore,
> extra underscore
> checking for library containing dgemm... no
> MKL not found
> in /opt/intel/Compiler/*/*/mkl/lib/em64t: checking for library containing
> dgemm... no
> MKL not found
> in /opt/intel/mkl/*/lib/em64t: checking for library containing dgemm... no
> MKL not found
> in /opt/intel/mkl*/lib/em64t: checking for library containing dgemm... no
> MKL not found
> checking for library containing dgemm... no
> in /usr/local/lib: checking for library containing dgemm... no
> checking for library containing dgemm... no
> in /usr/local/lib: checking for library containing dgemm... no
> checking for library containing dspev... no
> in /usr/local/lib: checking for library containing dspev... no
> setting BLAS_LIBS... /home/khalili/espresso-5.0.2/BLAS/blas.a
> setting LAPACK_LIBS... /home/khalili/espresso-5.0.2/lapack-3.2/lapack.a
> checking for library containing dfftw_execute_dft... -lfftw3
> setting FFT_LIBS... -lfftw3
> setting MASS_LIBS...
> checking for library containing mpi_init... no
> setting MPI_LIBS...
> checking for library containing mpi_init... (cached) no
> setting SCALAPACK_LIBS...
> setting DFLAGS... -D__GFORTRAN -D__STD_F95 -D__FFTW3
> setting IFLAGS... -I../include
> setting FDFLAGS... $(DFLAGS)
> checking for ranlib... ranlib
> setting RANLIB... ranlib
> checking for wget... wget -O
> setting WGET... wget -O
> configure: creating ./config.status
> config.status: creating include/fft_defs.h
> config.status: creating make.sys
> config.status: creating configure.msg
> config.status: creating install/make_wannier90.sys
> config.status: creating install/make_blas.inc
> config.status: creating install/make_lapack.inc
> config.status: creating include/c_defs.h
> config.status: include/c_defs.h is unchanged
> --------------------------------------------------------------------
> ESPRESSO can take advantage of several optimized numerical libraries
> (essl, fftw, mkl...).  This configure script attempts to find them,
> but may fail if they have been installed in non-standard locations.
> If a required library is not found, the local copy will be compiled.
> 
> The following libraries have been found:
>   BLAS_LIBS=/home/khalili/espresso-5.0.2/BLAS/blas.a
>   LAPACK_LIBS=/home/khalili/espresso-5.0.2/lapack-3.2/lapack.a
>   FFT_LIBS= -lfftw3
> Please check if this is what you expect.
> 
> If any libraries are missing, you may specify a list of directories
> to search and retry, as follows:
>   ./configure LIBDIRS="list of directories, separated by spaces"
> 
> Parallel environment not detected \(is this a parallel machine?\).\
> Configured for compilation of serial executables.
> 
> For more info, read the ESPRESSO User's Guide (Doc/users-guide.tex).
> --------------------------------------------------------------------
> configure: success
> [khalili at localhost espresso-5.0.2]$ make make all
> make: *** No rule to make target `make'.  Stop.
> [khalili at localhost espresso-5.0.2]$ make all
> test -d bin || mkdir bin
> cd install ; make  -f extlibs_makefile libiotk
> make[1]: Entering directory `/home/khalili/espresso-5.0.2/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]: Entering directory `/home/khalili/espresso-5.0.2/S3DE/iotk/src'
> make[2]: Nothing to be done for `lib+util'.
> make[2]: Leaving directory `/home/khalili/espresso-5.0.2/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]: Leaving directory `/home/khalili/espresso-5.0.2/install'
> cd install ; make  -f extlibs_makefile libelpa
> make[1]: Entering directory `/home/khalili/espresso-5.0.2/install'
> touch fake_libelpa.a
> rm fake_libelpa.a
> make[1]: Leaving directory `/home/khalili/espresso-5.0.2/install'
> ( cd Modules ; if test "make" = "" ; then make  TLDEPS= all ; \
> else make  TLDEPS= all ; fi )
> make[1]: Entering directory `/home/khalili/espresso-5.0.2/Modules'
> MPIF90 -O3 -g -x f95-cpp-input -D__GFORTRAN -D__STD_F95 -D__FFTW3
> -I../include -I../iotk/src -I../ELPA/src -I. -c fft_scalar.f90
> make[1]: MPIF90: Command not found
> make[1]: *** [fft_scalar.o] Error 127
> make[1]: Leaving directory `/home/khalili/espresso-5.0.2/Modules'
> make: *** [mods] Error 2
> 
> Could anyone help me please?


********************************************************
- Article premier - Les hommes naissent et demeurent
libres et ègaux en droits. Les distinctions sociales
ne peuvent être fondèes que sur l'utilitè commune
- Article 2 - Le but de toute association politique
est la conservation des droits naturels et 
imprescriptibles de l'homme. Ces droits sont la libertè,
la propriètè, la sùretè et la rèsistance à l'oppression.
********************************************************

   Giuseppe Mattioli                            
   CNR - ISTITUTO DI STRUTTURA DELLA MATERIA   
   v. Salaria Km 29,300 - C.P. 10                
   I 00015 - Monterotondo Stazione (RM)          
   Tel + 39 06 90672836 - Fax +39 06 90672316    
   E-mail: <giuseppe.mattioli at ism.cnr.it>
   ResearcherID: F-6308-2012




More information about the users mailing list