Hi there, When compiling in parallel with the option --enable-mpi in the configure, is it mandatory to add the blacs and scalapack libraries??? I am getting the following messages when doing the configure: ------ configure: Don't know how to compile with BLACS - edit arch.make by hand checking if we can compile a ScaLAPACK program... no configure: Don't know how to compile with ScaLAPACK - edit arch.make by hand configure: creating ./config.status config.status: creating arch.make --------
And if I don't do anything in the arch.make I get a compilation error in cdiag and rdiag. The problem is that I cannot find the libraries in the cluster I am using.... Thanks a lot, Enrique On Thu, Jan 13, 2011 at 4:54 PM, Jan Sommer <[email protected] > wrote: > 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 <[email protected] > >: > > > 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 >> >
