[Pw_forum] some questions about compiling espresso3.2

Chaohao Hu chaohao.mse at gmail.com
Wed May 23 17:57:03 CEST 2007


Dear Pwscf users,


I want to compile epsresso3.2 on my system using the intel90 compiler mkl80
lib, I run into some problems. Some error informations as following always
appear. But I can compile it in my notepad using the intel90 compiler. Why?

If I use the make.sys configured automatically by machine, in which the g95
fortran compiler is used and the option "-ftrace=frame" is only added, I can
compile it successfully. But When running some examples involving in the
phonon calculations like example02, the Traceback information appears!!! How
to solve these problems? Here, I attach my make.sys files.

In addition, When can the the module of the noncollinear + GGA (not LDA) be
implemented in the espresso packages?

=================intel90+mkl80==============================

: undefined reference to `create_plan_1d_'

../Modules/fft_scalar.o(.text+0xf3a): more undefined references to
`create_plan_1d_' follow

../Modules/fft_scalar.o(.text+0x10b4): In function `fft_scalar_mp_cft_b_':

: undefined reference to `fftw_inplace_drv_1d_'

../Modules/fft_scalar.o(.text+0x10ef): In function `fft_scalar_mp_cft_b_':

: undefined reference to `fftw_inplace_drv_2d_'

../Modules/fft_scalar.o(.text+0x1127): In function `fft_scalar_mp_cft_b_':

: undefined reference to `destroy_plan_1d_'

../Modules/fft_scalar.o(.text+0x113e): In function `fft_scalar_mp_cft_b_':

: undefined reference to `create_plan_1d_'

../Modules/fft_scalar.o(.text+0x1153): In function `fft_scalar_mp_cft_b_':

: undefined reference to `destroy_plan_2d_'

../Modules/fft_scalar.o(.text+0x1169): In function `fft_scalar_mp_cft_b_':

: undefined reference to `create_plan_2d_'

../Modules/xml_io_base.o(.text+0x1309): In function
`xml_io_base_mp_create_directory_.':

: undefined reference to `c_mkdir_'

libpw.a(input.o)(.text+0x6550): In function `verify_tmpdir_.':

: undefined reference to `c_mkdir_'

make[1]: *** [pw.x] Error 1

=======================g95==================================

cleaning *******************/tmp... done

running the scf calculation... done

running the phonon calculation at Gamma... done

running the nscf calculation at X... done

running the phonon calculation at X... done

running the nscf calculation at X for a single mode... done

running the phonon calculation at X for a single mode...At line 47 of file
stop_ph.f90

Traceback: (Innermost first)

Called from line 0 of file ./run_example: line 245: 32630 Segmentation fault
$PH_COMMAND <si.phXsingle.in >si.phXsingle.out

done

cleaning *****************/tmp... done

running the scf calculation for C... done

running the phonon calculation at Gamma... done

running the scf calculation for Ni... done

running the non-scf calculation for phonon at X of Ni... done

running the phonon calculation at X... done
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20070523/3f65c7ef/attachment.html>
-------------- next part --------------
# make.sys.  Generated from make.sys.in by configure.

# compilation rules

.SUFFIXES :
.SUFFIXES : .o .c .f .f90

# most fortran compilers can directly preprocess c-like directives: use
# 	$(MPIF90) $(F90FLAGS) -c $<
# if explicit preprocessing by the C preprocessor is needed, use:
# 	$(CPP) $(CPPFLAGS) $< -o $*.F90 
#	$(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o
# remember the tabulator in the first column !!!

.f90.o:
	$(MPIF90) $(F90FLAGS) -c $<

# .f.o and .c.o: do not modify

.f.o:
	$(F77) $(FFLAGS) -c $<

.c.o:
	$(CC) $(CFLAGS)  -c $<


# DFLAGS  = precompilation options (possible arguments to -D and -U)
#           used by the C compiler and preprocessor
# FDFLAGS = as DFLAGS, for the f90 compiler
# See include/defs.h.README for a list of options and their meaning
# With the exception of IBM xlf, FDFLAGS = $(DFLAGS)
# For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas 

DFLAGS         =  -D__INTEL -D__FFTW -D__USE_INTERNAL_FFTW
FDFLAGS        = $(DFLAGS)

# IFLAGS = how to locate directories where files to be included are
# In most cases, IFLAGS = -I../include
# If loading an external FFTW library, add the location of FFTW include files

IFLAGS         = -I../include

# MODFLAGS = flag used by f90 compiler to locate modules
# You need to search for modules in ./, in ../iotk/src, in ../Modules
# Some applications also neeed modules in ../PW, ../PH, ../CPV

MODFLAGS       = -I./  -I../Modules  -I../iotk/src \
                 -I../PW  -I../PH  -I../CPV

# Compilers: fortran-90, fortran-77, C
# If a parallel compilation is desired, MPIF90 should be a fortran-90 
# compiler that produces executables for parallel execution using MPI
# (such as for instance mpif90, mpf90, mpxlf90,...);
# otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...)
# If you have a parallel machine but no suitable candidate for MPIF90,
# try to specify the directory containing "mpif.h" in IFLAGS
# and to specify the location of MPI libraries in MPI_LIBS

MPIF90         = ifort
#F90           = ifort
CC             = icc
F77            = ifort

# C preprocessor and preprocessing flags - for explicit preprocessing, 
# if needed (see the compilation rules above)
# preprocessing flags must include DFLAGS and IFLAGS

CPP            = cpp
CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)

# compiler flags: C, F90, F77
# C flags must include DFLAGS and IFLAGS
# F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax

CFLAGS         = -O3 $(DFLAGS) $(IFLAGS)
F90FLAGS       = $(FFLAGS) -nomodule -fpp $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
FFLAGS         = -O2 -tpp6 -assume byterecl

# compiler flags without optimization for fortran-77
# the latter is NEEDED to properly compile dlamch.f, used by lapack

FFLAGS_NOOPT   = -O0 -assume byterecl

# Linker and linker-specific flags (if any)
# Typically LD coincides with F90 or MPIF90 - not actually used

# LD             = mpif90
LDFLAGS        = 

# External Libraries (if any) : blas, lapack, fft, MPI

# If you have nothing better, use the local copy : ../flib/blas.a

BLAS_LIBS      = -L/**************/Intel_9.0/mkl/8.0/lib/32 -lmkl_ia32 -lguide -lpthread

# The following lapack libraries will be available in flib/ :
# ../flib/lapack.a : contains all needed routines
# ../flib/lapack_atlas.a: only routines not present in the Atlas library
# For IBM machines with essl: load essl BEFORE lapack !
# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order

LAPACK_LIBS    = -L/**************/Intel_9.0/mkl/8.0/lib/32 -lmkl_lapack

# nothing needed here if the the internal copy of FFTW is compiled
# (needs -D__FFTW -D__USE_INTERNAL_FFTW in DFLAGS)

FFT_LIBS       =

# For parallel execution, the correct path to MPI libraries must
# be specified in MPI_LIBS (except for IBM if you use mpxlf)

MPI_LIBS       =

# IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS

MASS_LIBS      = 

# pgplot libraries (used by some post-processing tools)

PGPLOT_LIBS    = 

# ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv
# ARFLAGS_DYNAMICS is used in iotk to produce a dynamical library,
# for Mac OS-X with PowerPC and xlf compiler. In all other cases
# ARFLAGS_DYNAMICS = $(ARFLAGS)

AR             = ar
ARFLAGS        = ruv
ARFLAGS_DYNAMIC= ruv

# ranlib command. If ranlib is not needed (it isn't in most cases) use
# RANLIB = echo

RANLIB         = ranlib

# all internal and external libraries - do not modify

LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a
LIBS           = $(LAPACK_LIBS) $(BLAS_LIBS) $(FFT_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(PGPLOT_LIBS)

-------------- next part --------------
# make.sys.  Generated from make.sys.in by configure.

# compilation rules

.SUFFIXES :
.SUFFIXES : .o .c .f .f90

# most fortran compilers can directly preprocess c-like directives: use
# 	$(MPIF90) $(F90FLAGS) -c $<
# if explicit preprocessing by the C preprocessor is needed, use:
# 	$(CPP) $(CPPFLAGS) $< -o $*.F90 
#	$(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o
# remember the tabulator in the first column !!!

.f90.o:
	$(MPIF90) $(F90FLAGS) -c $<

# .f.o and .c.o: do not modify

.f.o:
	$(F77) $(FFLAGS) -c $<

.c.o:
	$(CC) $(CFLAGS)  -c $<


# DFLAGS  = precompilation options (possible arguments to -D and -U)
#           used by the C compiler and preprocessor
# FDFLAGS = as DFLAGS, for the f90 compiler
# See include/defs.h.README for a list of options and their meaning
# With the exception of IBM xlf, FDFLAGS = $(DFLAGS)
# For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas 

DFLAGS         =  -D__FFTW -D__USE_INTERNAL_FFTW
FDFLAGS        = $(DFLAGS)

# IFLAGS = how to locate directories where files to be included are
# In most cases, IFLAGS = -I../include
# If loading an external FFTW library, add the location of FFTW include files

IFLAGS         = -I../include 

# MODFLAGS = flag used by f90 compiler to locate modules
# You need to search for modules in ./, in ../iotk/src, in ../Modules
# Some applications also neeed modules in ../PW, ../PH, ../CPV

MODFLAGS       = -I./  -I../Modules  -I../iotk/src \
                 -I../PW  -I../PH  -I../CPV

# Compilers: fortran-90, fortran-77, C
# If a parallel compilation is desired, MPIF90 should be a fortran-90 
# compiler that produces executables for parallel execution using MPI
# (such as for instance mpif90, mpf90, mpxlf90,...);
# otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...)
# If you have a parallel machine but no suitable candidate for MPIF90,
# try to specify the directory containing "mpif.h" in IFLAGS
# and to specify the location of MPI libraries in MPI_LIBS

MPIF90         = g95
#F90           = g95
CC             = cc
F77            = g95

# C preprocessor and preprocessing flags - for explicit preprocessing, 
# if needed (see the compilation rules above)
# preprocessing flags must include DFLAGS and IFLAGS

CPP            = cpp
CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)

# compiler flags: C, F90, F77
# C flags must include DFLAGS and IFLAGS
# F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax

CFLAGS         = -O3 $(DFLAGS) $(IFLAGS)
F90FLAGS       = $(FFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
FFLAGS         = -O3 -cpp -ftrace=frame

# compiler flags without optimization for fortran-77
# the latter is NEEDED to properly compile dlamch.f, used by lapack

FFLAGS_NOOPT   = -O0 -cpp

# Linker and linker-specific flags (if any)
# Typically LD coincides with F90 or MPIF90 - not actually used

# LD             = g95
LDFLAGS        = 

# External Libraries (if any) : blas, lapack, fft, MPI

# If you have nothing better, use the local copy : ../flib/blas.a

BLAS_LIBS      = ../flib/blas.a

# The following lapack libraries will be available in flib/ :
# ../flib/lapack.a : contains all needed routines
# ../flib/lapack_atlas.a: only routines not present in the Atlas library
# For IBM machines with essl: load essl BEFORE lapack !
# remember that LAPACK_LIBS precedes BLAS_LIBS in loading order

LAPACK_LIBS    = ../flib/lapack.a

# nothing needed here if the the internal copy of FFTW is compiled
# (needs -D__FFTW -D__USE_INTERNAL_FFTW in DFLAGS)

FFT_LIBS       = 

# For parallel execution, the correct path to MPI libraries must
# be specified in MPI_LIBS (except for IBM if you use mpxlf)

MPI_LIBS       = 

# IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS

MASS_LIBS      = 

# pgplot libraries (used by some post-processing tools)

PGPLOT_LIBS    = 

# ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv
# ARFLAGS_DYNAMICS is used in iotk to produce a dynamical library,
# for Mac OS-X with PowerPC and xlf compiler. In all other cases
# ARFLAGS_DYNAMICS = $(ARFLAGS)

AR             = ar
ARFLAGS        = ruv
ARFLAGS_DYNAMIC= ruv

# ranlib command. If ranlib is not needed (it isn't in most cases) use
# RANLIB = echo

RANLIB         = ranlib

# all internal and external libraries - do not modify

LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a
LIBS           = $(LAPACK_LIBS) $(BLAS_LIBS) $(FFT_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(PGPLOT_LIBS)



More information about the users mailing list