There is some problem with how PathScale handles the modules in Src/MPI/mpi.F
If I replace: USE MPI__INCLUDE , #ifdef OLD_CRAY & DAT_single => MPI_real, & & DAT_2single => MPI_2real, & & DAT_double => MPI_real, & & DAT_2double => MPI_2real, & & DAT_complex => MPI_complex, & & DAT_dcomplex => MPI_complex & #else & DAT_single => MPI_real, & & DAT_2single => MPI_2real, & & DAT_double => MPI_double_precision, & & DAT_2double => MPI_2double_precision, & & DAT_complex => MPI_complex, & & DAT_dcomplex => MPI_double_complex & #endif With: USE MPI__INCLUDE, ONLY : DAT_single => MPI_real, & DAT_2single => MPI_2real, & DAT_double => MPI_double_precision, & DAT_2double => MPI_2double_precision, & DAT_complex => MPI_complex, & DAT_dcomplex => MPI_double_complex USE MPI__INCLUDE The modules and objects all compile correctly. Of course then the linking doesn¹t work correctly due to: ³Unexpected references of formal parameter² I¹m not at all familiar with the PathScale compiler (this is my first use of it) There must be some reason that the line-wrap used above does not work, but my F77 style does... However, I¹m confused by this because lower in mpi.F the & XXXX & does appear to work as a line-wrap. Is there a flag that I¹m missing? On 7/1/09 9:14 AM, "Scott Beckman" <sbeck...@iastate.edu> wrote: > 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> > > +++++++++++++++++++++++++++++ > +++++++++++++++++++++++++++++ > >