Dear Layla Thank you for the reply. I tried to understand the makefile of pwscf, but due to the lack of my knowledge, I am not able to find what should do. I typed ./configure in the source directory, it reports that the Fortran 77 compiler cannot create executables. I will check what's wrong with the Fortran compiler.
On Tue, Oct 20, 2009 at 10:47 PM, <marsamos at democritos.it> wrote: > Dear Jay, sometimes this time of error is related to the prepocessor. Maybe > try to uncomment the line related to prepocessor from make.sys (and comment > the older one). > > # 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 !!! > > bests > > Layla > > > Quoting JAY <jameslipd at gmail.com>: > > Dear All >> >> I tried to compile pwscf-4.1.1 on my FC10. mpi-1.2.7, fc=pgf90, cc=pgcc, >> lapack-3.2.1(blas), fftw-3.2.2, >> >> When i type in make all, the problem is: >> if test -d iotk ; then \ >> ( cd iotk ; if test "make" = "" ; then make TLDEPS= lib+util ; \ >> else make TLDEPS= lib+util ; fi ) ; fi >> make[1]: Entering directory `/home/jy/espresso/espresso-4.1.1/iotk' >> cd src ; make lib+util >> make[2]: Entering directory `/home/jy/espresso/espresso-4.1.1/iotk/src' >> mpif90 -O2 -fast -r8 -Mfree -Mx,119,0x200000 -D__GFORTRAN -D__FFTW >> -I../include -I./ -I../Modules -I../iotk/src -I../PW -I../PH -I../EE >> -I../GIPAW -c iotk_base.f90 >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 20) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 30) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 56) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 74) >> PGF90-S-0021-Label field of continuation line is not blank (iotk_base.spp: >> 72) >> PGF90-S-0087-Non-constant expression where constant expression required >> (iotk_base.spp: 73) >> PGF90-F-0008-Error limit exceeded (iotk_base.spp: 73) >> PGF90/x86-64 Linux 7.0-5: compilation aborted >> make[2]: *** [iotk_base.o] Error 2 >> make[2]: Leaving directory `/home/jy/espresso/espresso-4.1.1/iotk/src' >> make[1]: *** [lib+util] Error 2 >> make[1]: Leaving directory `/home/jy/espresso/espresso-4.1.1/iotk' >> make: *** [libiotk] Error 2 >> >> >> and my make.sys is: >> # 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__GFORTRAN -D__FFTW >> FDFLAGS = $(DFLAGS) >> >> # IFLAGS = how to locate directories where files to be included are >> # In most cases, IFLAGS = -I../include >> >> 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 need modules in ../PW and ../PH >> >> MODFLAGS = -I./ -I../Modules -I../iotk/src \ >> -I../PW -I../PH -I../EE -I../GIPAW >> >> # 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 = mpif90 >> #F90 = gfortran >> CC = pgcc >> F77 = pgf77 >> >> # 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) >> F90FLAGS = $(FFLAGS) -Mfree -Mx,119,0x200000 $(FDFLAGS) $(IFLAGS) >> $(MODFLAGS) >> #F90FLAGS = $(FFLAGS) -x f95-cpp-input $(FDFLAGS) $(IFLAGS) >> $(MODFLAGS) >> #FFLAGS = -O3 >> FFLAGS = -O2 -fast -r8 >> >> # compiler flags without optimization for fortran-77 >> # the latter is NEEDED to properly compile dlamch.f, used by lapack >> >> FFLAGS_NOOPT = -O0 -Mx,119,0x200000 >> #FFLAGS_NOOPT = -O0 >> >> # Linker, linker-specific flags (if any) >> # Typically LD coincides with F90 or MPIF90, LD_LIBS is empty >> >> LD = mpif90 >> LDFLAGS = >> LD_LIBS = >> >> # External Libraries (if any) : blas, lapack, fft, MPI >> >> # If you have nothing better, use the local copy : ../flib/blas.a >> >> #BLAS_LIBS =/home/jy/espresso/lapack-3.2.1 >> BLAS_LIBS = /home/jy/espresso/libs/libfftw3.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 (-D__ESSL): load essl BEFORE lapack ! >> # remember that LAPACK_LIBS precedes BLAS_LIBS in loading order >> >> LAPACK_LIBS = /home/jy/espresso/lapack-3.2.1/lapack_LINUX.a >> >> # nothing needed here if the the internal copy of FFTW is compiled >> # (needs -D__FFTW in DFLAGS) >> >> #FFT_LIBS =/home/jy/espresso/fftw-3.2.2/lib >> FFT_LIBS = /home/jy/espresso/libs/libfftw3.a >> >> # For parallel execution, the correct path to MPI libraries must >> # be specified in MPI_LIBS (except for IBM if you use mpxlf) >> >> MPI_LIBS =/opt/mpich-1.2.5.2/lib -lmpich >> #MPI_LIBS = /opt/mpich1.2.5.2/lib/libpmpich.a -lmpich >> >> 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_DYNAMIC is used in iotk to produce a dynamical library, >> # for Mac OS-X with PowerPC and xlf compiler. In all other cases >> # ARFLAGS_DYNAMIC = $(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 ../Multigrid/mglib.a >> LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FFT_LIBS) $(MPI_LIBS) >> $(MASS_LIBS) $(PGPLOT_LIBS) $(LD_LIBS) >> >> >> Could anybody help me? Thank you in advance. >> >> By the way, how to choose 'F90FLAGS'? >> >> >> >> -- >> Sincerely >> >> Jiaye >> >> > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > -- Sincerely Jiaye -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.democritos.it/pipermail/pw_forum/attachments/20091021/169fa34a/attachment-0001.htm
