[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