Hello Javier,

Thanks for your suggestion.  Yes, this does solve the compile problem.  But 
when the build process gets to the final step, the linker still complains about 
unexpected references (see below).  This problem must not be limited to the 
mpi.F module but could be anywhere.  Is there a flag to make the linker more 
verbose?  I don't know where to even begin looking for the cause of this 
problem.  

Would you be willing to post your arch.make file so I could compare?  I've made 
a few changes to mine (see below)  I don't see any obvious mistakes, but that 
doesn't mean that there aren't any.  

Thanks for your help.
Best,
Scott


+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
OUTPUT FROM COMPILE
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++

### Compiler Error during Inline processing phase:
### Unexpected references of formal parameter
IPA processing aborted
f90 INTERNAL ERROR: /opt/pathscale/lib/2.4/ipa_link returned non-zero status 1

+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++
MY arch.make FILE
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++

#
SIESTA_ARCH=pathf90-2.0-mpi
#
FC=f90
FC_ASIS=$(FC)
#
FFLAGS= -m64 -ipa -Ofast -Wl,-R/opt/pathscale/lib/2.4/
FFLAGS_DEBUG= -g
LDFLAGS= -m64 -ipa -Ofast
#
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

MPI_INTERFACE=libmpi_f90.a

MPI_INCLUDE=/usr/include
MPI_LIBS=/usr/lib
DEFS_MPI=-DMPI
#
#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 
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

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)   $<




-----Original Message-----
From: Siesta, Self-Consistent DFT LCAO program, http://www.uam.es/siesta on 
behalf of Javier Junquera
Sent: Thu 7/2/2009 3:55 AM
To: SIESTA-L@listserv.uam.es
Subject: Re: [SIESTA-L] Compile problem : redeclared MPI data types
 
Dear Scott:

Edit the mpi.F file in the Src/MPI subdirectory,
and include the "USE MPI_INCLUDE, "
inside the two blocks of the preprocessor.
The final lines should look like:

#ifdef OLD_CRAY
USE MPI__INCLUDE ,
& 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
USE MPI__INCLUDE ,
& 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

It works for me, and I am using essentially the same architecture,
compiler, and libraries as you.

Hope this helps,

Javier



Beckman escribió:
> 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>
>
> +++++++++++++++++++++++++++++
> +++++++++++++++++++++++++++++
>


-- 
-------------------------------------------------------------------------
Javier Junquera

Ciencias de la Tierra y Fisica de la Materia Condensada (CITIMAC)
Avenida de Los Castros s/n
Facultad de Ciencias
Universidad de Cantabria
E-39005 Santander, Cantabria
Spain

web-page: http://personales.unican.es/junqueraj
e-mail:   javier.junqu...@unican.es
Tel:      (+34) 942 20 15 16
Fax:      (+34) 942 20 14 02

Reply via email to