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.
