Thanks a lot Jan, That removed the problem with mpi but now I am getting the following errors:
cdiag.o: In function `cdiag_': cdiag.F:(.text+0x392): undefined reference to `descinit_' cdiag.F:(.text+0x956): undefined reference to `blacs_gridinfo_' cdiag.F:(.text+0x973): undefined reference to `indxg2p_' cdiag.F:(.text+0x9a4): undefined reference to `indxg2p_' cdiag.F:(.text+0x9e1): undefined reference to `numroc_' cdiag.F:(.text+0x9ff): undefined reference to `numroc_' cdiag.F:(.text+0xa20): undefined reference to `numroc_' cdiag.F:(.text+0xa46): undefined reference to `numroc_' cdiag.F:(.text+0xac6): undefined reference to `pjlaenv_' cdiag.F:(.text+0xafd): undefined reference to `numroc_' cdiag.F:(.text+0xb8a): undefined reference to `iceil_' cdiag.F:(.text+0xc87): undefined reference to `blacs_gridinfo_' cdiag.F:(.text+0xf48): undefined reference to `pzhegvx_' cdiag.F:(.text+0x10ea): undefined reference to `pzgemr2d_' cdiag.F:(.text+0x1209): undefined reference to `pzpotrf_' cdiag.F:(.text+0x1306): undefined reference to `pzhengst_' cdiag.F:(.text+0x1484): undefined reference to `pzhemm_' cdiag.F:(.text+0x1597): undefined reference to `pzgemm_' cdiag.F:(.text+0x18b3): undefined reference to `pzgemm_' cdiag.F:(.text+0x1c66): undefined reference to `pzgemr2d_' cdiag.F:(.text+0x1cd4): undefined reference to `pzgemr2d_' cdiag.F:(.text+0x20cd): undefined reference to `pzhegvx_' cdiag.F:(.text+0x21de): undefined reference to `numroc_' cdiag.F:(.text+0x2205): undefined reference to `numroc_' cdiag.F:(.text+0x2256): undefined reference to `descinit_' cdiag.F:(.text+0x23d7): undefined reference to `blacs_get_' cdiag.F:(.text+0x23fc): undefined reference to `blacs_gridinit_' cdiag.F:(.text+0x2451): undefined reference to `pzpotrf_' cdiag.F:(.text+0x2508): undefined reference to `blacs_get_' cdiag.F:(.text+0x2523): undefined reference to `blacs_gridinit_' cdiag.F:(.text+0x2632): undefined reference to `pzheevd_' cdiag.F:(.text+0x2797): undefined reference to `pztrsm_' cdiag.F:(.text+0x282e): undefined reference to `pzgemr2d_' cdiag.F:(.text+0x2923): undefined reference to `pzhengst_' cdiag.F:(.text+0x2dbf): undefined reference to `pzheevx_' cdiag.F:(.text+0x3082): undefined reference to `pztrsm_' cdiag.F:(.text+0x3245): undefined reference to `pzheevx_' cdiag.F:(.text+0x33ec): undefined reference to `pzheevd_' cdiag.F:(.text+0x3516): undefined reference to `pzhemm_' cdiag.F:(.text+0x35db): undefined reference to `pzgemm_' cdiag.F:(.text+0x36af): undefined reference to `pzgemm_' rdiag.o: In function `rdiag_': rdiag.F:(.text+0x2fc): undefined reference to `descinit_' rdiag.F:(.text+0x703): undefined reference to `blacs_gridinfo_' rdiag.F:(.text+0x750): undefined reference to `numroc_' rdiag.F:(.text+0x76b): undefined reference to `numroc_' rdiag.F:(.text+0x7ba): undefined reference to `iceil_' rdiag.F:(.text+0x825): undefined reference to `pjlaenv_' rdiag.F:(.text+0x85b): undefined reference to `numroc_' rdiag.F:(.text+0x941): undefined reference to `blacs_gridinfo_' rdiag.F:(.text+0xbb4): undefined reference to `pdsygvx_' rdiag.F:(.text+0xd2b): undefined reference to `pdgemr2d_' rdiag.F:(.text+0xf18): undefined reference to `pdpotrf_' rdiag.F:(.text+0x1034): undefined reference to `pdsyngst_' rdiag.F:(.text+0x11b2): undefined reference to `pdsymm_' rdiag.F:(.text+0x12c5): undefined reference to `pdgemm_' rdiag.F:(.text+0x159c): undefined reference to `pdgemm_' rdiag.F:(.text+0x18fc): undefined reference to `pdgemr2d_' rdiag.F:(.text+0x196a): undefined reference to `pdgemr2d_' rdiag.F:(.text+0x1b6b): undefined reference to `pdsygvx_' rdiag.F:(.text+0x1dbf): undefined reference to `numroc_' rdiag.F:(.text+0x1de8): undefined reference to `numroc_' rdiag.F:(.text+0x1e3c): undefined reference to `descinit_' rdiag.F:(.text+0x1fb4): undefined reference to `blacs_get_' rdiag.F:(.text+0x1fd9): undefined reference to `blacs_gridinit_' rdiag.F:(.text+0x205a): undefined reference to `pdpotrf_' rdiag.F:(.text+0x2083): undefined reference to `blacs_get_' rdiag.F:(.text+0x209e): undefined reference to `blacs_gridinit_' rdiag.F:(.text+0x218a): undefined reference to `pdsyevd_' rdiag.F:(.text+0x2224): undefined reference to `numroc_' rdiag.F:(.text+0x223e): undefined reference to `numroc_' rdiag.F:(.text+0x2287): undefined reference to `indxg2p_' rdiag.F:(.text+0x22a7): undefined reference to `indxg2p_' rdiag.F:(.text+0x22c9): undefined reference to `numroc_' rdiag.F:(.text+0x22e6): undefined reference to `numroc_' rdiag.F:(.text+0x2412): undefined reference to `pdtrsm_' rdiag.F:(.text+0x24a9): undefined reference to `pdgemr2d_' rdiag.F:(.text+0x25ce): undefined reference to `pdsyngst_' rdiag.F:(.text+0x29f1): undefined reference to `pdsyevx_' rdiag.F:(.text+0x2c9d): undefined reference to `pdtrsm_' rdiag.F:(.text+0x2d60): undefined reference to `pdsyevd_' rdiag.F:(.text+0x2ef6): undefined reference to `pdsyevx_' rdiag.F:(.text+0x30ad): undefined reference to `pdsymm_' rdiag.F:(.text+0x3172): undefined reference to `pdgemm_' rdiag.F:(.text+0x3246): undefined reference to `pdgemm_' collect2: ld returned 1 exit status make: *** [siesta] Error 1 I am supposed to be using the libraries from SIESTA (my configure: ../Src/configure FC=mpif90 FCFLAGS=-O2 --enable-mpi --with-siesta-blas --with-siesta-lapack). Any idea???? My 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- . # # 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= LAPACK_LIBS= 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=libmpi_f90.a MPI_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) $< ---------------------------------------------------- Thanks a lot, Enrique On Thu, Jan 13, 2011 at 4:54 PM, Jan Sommer <jan.som...@s2008.tu-chemnitz.de > 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 <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 >> >