[Pw_forum] Compile problem on a Hitachi SR11000, AIX

"Pio Bättig" baettigp at gmx.net
Wed Nov 22 10:09:53 CET 2006


Dear PWscf-users and -authors,

I am trying to compile PWscf 3.1.1 on a Hitachi SR11000 (IBM Power5 1.9GHz). 
(It compiled without problems on a PC under linux using the intel compilers).
Unfortunately, just using the standard configure-script did not work and stopped with the following messages:

----
espresso-3.1.1/> ./configure
checking build system type... powerpc-ibm-aix5.2.0.0
checking architecture... aix
checking for mpxlf90_r... mpxlf90_r
checking for Fortran 77 compiler default output file name... configure: error: Fortran 77 compiler cannot create executables
See `config.log' for more details.
----
(the correct fortran-compiler should be mpxlf90)

I then set the following environment variables:

----
export FC=mpixf90
export F77=mpixf90
export F90=mpixf90
export CC=mpicc
export FFLAGS="-Os -64 -precexp=4 -nompi -noparallel -qfree=f90 -cpp"
export LDFLAGS="-64 -noparallel -L/usr/local/lib -lblas_s -llapack_s -noparallel"
export BLAS_LIBS="-lblas_s"
export LAPACK_LIBS="-llapack_s"
----

which generated the following make.sys-file:

----
espresso-3.1.1/> more make.sys
# make.sys.  Generated from make.sys.in by configure.

# compilation rules

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

.f90.o:
        $(CPP) $(CPPFLAGS) $< -o $*.F90 
        $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o

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

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


CC             = mpicc
MPICC          = cc
CFLAGS         = -O $(DFLAGS) $(IFLAGS)
CPP            = mpicc -E
CPPFLAGS       =  $(DFLAGS) $(IFLAGS)
F90            = mpixf90
MPIF90         = mpixf90
F90FLAGS       = $(FFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
F90FLAGS_NOOPT = $\(FFLAGS_NOOPT) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)
F77            = mpixf90
MPIF77         = mpixf90
FFLAGS         = -Os -64 -precexp=4 -nompi -noparallel -qfree=f90 -cpp
FFLAGS_NOOPT   = -O0
LD             = mpixf90
LDFLAGS        = -64 -noparallel -L/usr/local/lib -lblas_s -llapack_s -noparallel
AR             = ar
ARFLAGS        = -X64 ruv
RANLIB         = echo
BLAS_LIBS      = -lblas_s
LAPACK_LIBS    = -llapack_s
FFT_LIBS       = 
MPI_LIBS       = 
MASS_LIBS      = 

# -----------------------------
# application-specific settings

# See include/defs.h.README for a list of precompilation options
# (possible arguments to -D or -U) and their meaning
DFLAGS         = -D__AIX -D__FFTW -D__USE_INTERNAL_FFTW -D__MPI -D__PARA
FDFLAGS        = $(DFLAGS)
IFLAGS         = -I../include 
MODFLAGS       = -I. -I../Modules -I../PW -I../PH -I../iotk/src -I../CPV

LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a
# LIBS must contain the location of all needed external libraries
LIBS           = $(LAPACK_LIBS) $(BLAS_LIBS) $(FFT_LIBS) $(MPI_LIBS) $(MASS_LIBS)
# MYLIB can be one of the following (depending on LIBS):
# blas       : compile the local copy of blas routines
# lapack     : compile the local copy of lapack routines
# blas_and_lapack : all of the above - use this for a quick test
#              or if you don't have an optimized blas/lapack library
# lapack_ibm : compile only lapack routines not present in IBM ESSL
#              use this together with IBM ESSL
# lapack_t3e : compile only lapack routines not present in T3E scilib
#              use this together with T3E scilib
# lapack_mkl : compile only lapack routines not present in Intel MKL
#              use this together with Intel MKL
MYLIB          = 
----

After deleting line 9 and changing 10 to the following:

----
        $(MPIF90) $(F90FLAGS) -c $<
----

I tried to compile with 'make all'.
Unfortunately, I got a lot of 

----
f90: compile start : iotk_base.f90

*OFORT90 V01-03-/A entered.
   KCHF444K  12           55
             an operand is missing.
   KCHF444K  12           56
             an operand is missing.
----

for the iotk*  files.

(the errors were:
   KCHF278K  12   "The reference to a generic procedure invokes two or more specific procedures with the same interface." - 72 occurences
   KCHF419K  12   "The number of arguments or their type is invalid in a reference to a generic name." - 58 occurrences
   KCHF474K  04   "The variable is referenced, but is never defined." - 3 occurrences
   KCHF475K  00   "The variable is defined, but is never referenced." -no problem - 86 occurrences
   KCHF476K  00   "The variable is declared, but is never used in an executable statement." -no problem - 251 occurrences
KCHF656K          "File xxx is referenced from the source statement file library." - 293 occurrences


Error-code explanations from
http://www.scl.pjwstk.edu.pl/hitachi/manual/6a203311/m0190126.htm )

I tried to add the line
#define __IOTK_WORKAROUND5
after the last #endif  of iotk/include/iotk_config.h (last line)
as has been suggested in 
http://www.democritos.it/pipermail/pw_forum/2006-September/004901.html

and tried 'make clean; make all' but got still exactly the same errors.

the only files that have been generated by the compilation are
./iotk/src/iotk_attr.o and ./iotk/src/iotk_dat.o .

I would be grateful if anyone could give me a hint on how to get PWscf working.
If any more information is needed, or the full compile-log, I will provide it.

Thank you very much in advance,

Pio Baettig


P.S. The machine runs on AIX 5.2.0,
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer



More information about the Pw_forum mailing list