Hi,

I'm quite new to siesta too, but when I compiled it in parallel version, I used the --enable-mpi option with configure. It than ran some tests, if all libraries and compilers were working and stated errors or things I had to add manually in the arch.make-file.
Dont know, if this helps.

Regards,

 Jan



Am 14.01.2011, 00:49 Uhr, schrieb enrique martinez <enriquem...@gmail.com>:

Hi there,

I am trying to compile version siesta-3.0-rc2 in parallel unsuccessfully.
In the Obj/ folder I am doing ../Src/obj_setup.sh and then I am running
../Src/configure FC=mpif90 FCFLAGS=-O2 FPPFLAGS=-DMPI.
In the arch.make I get the MPI_INTERFACE is blank. If I do make as it is I
get the following error:

---------------------------------------
mpif90 -c -O2   `FoX/FoX-config --fcflags` -DMPI -DFC_HAVE_FLUSH
-DFC_HAVE_ABORT   /home/enrique/Codes/Siesta/siesta-3.0-rc2/Src/sys.F
 In file /home/enrique/Codes/Siesta/siesta-3.0-rc2/Src/sys.F:23

      use mpi_siesta
                                                                       1
Fatal Error: Can't open module file 'mpi_siesta.mod' for reading at (1): No
such file or directory
make: *** [sys.o] Error 1
--------------------------------------

If I do MPI_INTERFACE=libmpi_f90.a the error is the following:

-------------------------------------
make[1]: Entering directory
`/home/enrique/Codes/Siesta/siesta-3.0-rc2/Obj/MPI'
mpif90 -c -O2 -I
/home/enrique/Codes/Siesta/siesta-3.0-rc2/Src/MPI/mpi__include.f90
gfortran: no input files
make[1]: *** [mpi__include.o] Error 1
make[1]: Leaving directory
`/home/enrique/Codes/Siesta/siesta-3.0-rc2/Obj/MPI'
make: *** [libmpi_f90.a] Error 2
-------------------------------------

If I add MPI_INCLUDE=/usr/lib/openmpi/1.4-gcc/include the error is:

-------------------------------------
mpif90 -c -O2 -I/usr/lib/openmpi/1.4-gcc/include -DMPI -DFC_HAVE_FLUSH
-DFC_HAVE_ABORT   /home/enrique/Codes/Siesta/siesta-3.0-rc2/Src/MPI/mpi.F
Error: Can't open included file 'V_S.uses'
Error: Can't open included file 'VS.uses'
make[1]: *** [mpi.o] Error 1
make[1]: Leaving directory
`/home/enrique/Codes/Siesta/siesta-3.0-rc2/Obj/MPI'
make: *** [libmpi_f90.a] Error 2
------------------------------------

If I cp the arch.make into the ../Src folder and I go to the ../Src/MPI
folder and I type make, it compiles generating the libmpi_f90.a and then if
I go to ../../Obj again and type make it compiles but it does not link,
being folder Obj/MPI empty but with the Makefile. The error is then:

----------------------------------
               dc_lapack.a liblapack.a libblas.a  `FoX/FoX-config --libs
--wcml`   dc_lapack.a liblapack.a libblas.a
gfortran: libmpi_f90.a: No such file or directory
make: *** [siesta] Error 1
---------------------------------

The arch.make file is the following:

------------------------------------
#
# 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- .
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90

SIESTA_ARCH=x86_64-unknown-linux-gnu--unknown

FPP=
FPP_OUTPUT=
FC=mpif90
RANLIB=ranlib

SYS=nag

SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)

FFLAGS=-O2
FPPFLAGS=-DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT
LDFLAGS=

ARFLAGS_EXTRA=

FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=

BLAS_LIBS=libblas.a
LAPACK_LIBS=dc_lapack.a liblapack.a
BLACS_LIBS=
SCALAPACK_LIBS=

COMP_LIBS=dc_lapack.a liblapack.a libblas.a

NETCDF_LIBS=
NETCDF_INTERFACE=

LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS)
$(NETCDF_LIBS)

#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may change
#to it here.
#MPI_INTERFACE=
#MPI_INCLUDE=
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=/usr/lib/openmpi/1.4-gcc/include

#Dependency rules are created by autoconf according to whether
#discrete preprocessing is necessary or not.
.F.o:
    $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F)  $<
.F90.o:
    $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
    $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f)  $<
.f90.o:
    $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90)  $<

-----------------------------------

Any help is very welcome.
Thanks a lot,

Enrique

Responder a