Hello,
I’m trying to compile Siesta 2.0.1 for parallel processing using MPI.
My system is an AMD Opteron cluster with InfiniPath interconnects. The
compiler is the PathScale compiler and I’m using the ACML 3.0.0
libraries. The BLACS and scalapack libraries are installed and tested.
When I try to compile Siesta I’m given errors about redeclared
attributes. (See below) I have also attached my arch.make file.
This problem is identical to that posted June2007 by Eb Na (
http://www.mail-archive.com/siesta-l@listserv.uam.es/msg00844.html).
Unfortunately there was never a response or follow-up to post the
solution.
I’ve tried making changes to the mpi.F and other source files in an
attempt to understand the origin of this problem, but have been
unsuccessful. Any help or suggestions would be very welcome.
Thank you for your time with this problem.
Sincerely,
Scott Beckman
Assistant Professor
Department of Material Science and Engineering
Iowa State University
sbeck...@iastate.edu
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
OUTPUT FROM COMPILE
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
hpc4~/Software/SIESTA/siesta-2.0.1/Src>
hpc4~/Software/SIESTA/siesta-2.0.1/Src> make
Compilation architecture to be used: pathf90-2.0-mpi
If this is not what you want, create the right
arch.make file using the models in Sys
Hit ^C to abort...
==> Incorporating information about present compilation (compiler and
flags)
make[1]: Entering directory
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'
f90 -c -DMPI -I/usr/include -L/usr/lib compinfo.F90
make[1]: Leaving directory
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src'
#...@rm -f compinfo.F90
make[1]: Entering directory
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src/MPI'
f90 -c -I/usr/include -DMPI -I/usr/include -L/usr/lib mpi.F
MODULE MPI_SIESTA
^
pathf95-855 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 1, Column = 14
The compiler has detected errors in module "MPI_SIESTA". No module
information file will be created for this module.
& DAT_single => MPI_real, &
^
pathf95-197 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 36, Column = 7
Unexpected syntax: "ONLY or use-name" was expected but found " ".
integer, parameter :: MPI_real = DAT_single
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 31
"MPI_REAL" has been use associated, therefore it must not be
redeclared with the INTEGER(KIND=4) attribute.
^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 71, Column = 55
"DAT_SINGLE" is used in a constant expression, therefore it must be a
constant.
integer, parameter :: MPI_2real = DAT_2single
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 31
"MPI_2REAL" has been use associated, therefore it must not be
redeclared with the INTEGER(KIND=4) attribute.
^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 72, Column = 55
"DAT_2SINGLE" is used in a constant expression, therefore it must be a
constant.
integer, parameter :: MPI_double_precision = DAT_double
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 73, Column = 31
"MPI_DOUBLE_PRECISION" has been use associated, therefore it must not
be redeclared with the INTEGER(KIND=4) attribute.
^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 73, Column = 55
"DAT_DOUBLE" is used in a constant expression, therefore it must be a
constant.
integer, parameter :: MPI_2double_precision = DAT_2double
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 74, Column = 31
"MPI_2DOUBLE_PRECISION" has been use associated, therefore it must not
be redeclared with the INTEGER(KIND=4) attribute.
^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 74, Column = 55
"DAT_2DOUBLE" is used in a constant expression, therefore it must be a
constant.
integer, parameter :: MPI_complex = DAT_complex
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 75, Column = 31
"MPI_COMPLEX" has been use associated, therefore it must not be
redeclared with the INTEGER(KIND=4) attribute.
^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 75, Column = 55
"DAT_COMPLEX" is used in a constant expression, therefore it must be a
constant.
integer, parameter :: MPI_double_complex = DAT_dcomplex
^
pathf95-922 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 76, Column = 31
"MPI_DOUBLE_COMPLEX" has been use associated, therefore it must not be
redeclared with the INTEGER(KIND=4) attribute.
^
pathf95-868 f90: ERROR MPI_SIESTA, File = mpi.F, Line = 76, Column = 55
"DAT_DCOMPLEX" is used in a constant expression, therefore it must be
a constant.
pathf95: PathScale(TM) Fortran Version 2.4 (f14) Wed Jul 1, 2009 09:04:05
pathf95: 815 source lines
pathf95: 14 Error(s), 0 Warning(s), 0 Other message(s), 0 ANSI(s)
pathf95: "explain pathf95-message number" gives more information about
each message
make[1]: *** [mpi.o] Error 2
make[1]: Leaving directory
`/home/sbeckman/Software/SIESTA/siesta-2.0.1/Src/MPI'
make: *** [libmpi_f90.a] Error 2
hpc4~/Software/SIESTA/siesta-2.0.1/Src>
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
MY arch.make FILE
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
hpc4~/Software/SIESTA/siesta-2.0.1/Src> more arch.make
#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
# and J.M.Soler, 1996-2006.
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
SIESTA_ARCH=pathf90-2.0-mpi
#
# For an opteron cluster with Pathscale compiler at UniCan -- parallel
#
#FC=/usr/bin/mpif90
FC=f90
FC_ASIS=$(FC)
#
#FFLAGS= -m64 -ipa -Ofast -Wl,-R/opt/pathscale3.2/lib/3.2/
FFLAGS=
#FFLAGS_DEBUG= -g
FFLAGS_DEBUG=
#LDFLAGS= -m64 -ipa -Ofast -lmpich
LDFLAGS= -lmpich
RANLIB=ranlib
COMP_LIBS=
#
NETCDF_LIBS= # /usr/local/netcdf-3.5/lib/pgi/libnetcdf.a
NETCDF_INTERFACE= # libnetcdf_f90.a
DEFS_CDF= # -DCDF
#
KINDS=4 8
#KINDS=8
#SP_KIND=4
#DP_KIND=8
MPI_INTERFACE=libmpi_f90.a
#MPI_INCLUDE=/opt/mpich.gcc/include
MPI_INCLUDE=/usr/include
#MPI_INCLUDE=
MPI_LIBS=/usr/lib
#MPI_LIBS=
DEFS_MPI=-DMPI -I/usr/include -L/usr/lib
#
LIBS=/work/TG3/LIBS/scalapack-1.8.0/libscalapack.a
/work/TG3/LIBS/BLACS/LIB/blacsF77init_MPI-LINUX-0.a
/work/TG3/LIBS/BLACS/LIB/blacs_MPI-LINUX-0.a /work/TG3/LIBS/
BLACS/LIB/blacsCinit_MPI-LINUX-0.a
/opt/acml3.0.0/pathscale64/lib/libacml.a
SYS=nag
DEFS= $(DEFS_CDF) $(DEFS_MPI) # -DGRID_DP
#
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(DEFS) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(DEFS) $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $<
hpc4~/Software/SIESTA/siesta-2.0.1/Src>
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++