I add MPI_LIBS= -L/home/sprakash/mpich2-install/lib in LIBS line. I do many changes in my arch.make file but get the same error /usr/bin/ld: cannot find -lmpichf90 collect2: ld returned 1 exit status make: *** [siesta] Error 1 plz help me out
On Fri, Jan 17, 2014 at 3:18 PM, Nick Papior Andersen <[email protected]>wrote: > Add -L/home/sprakash/mpich2-install/lib > to your LIBS line. > I would suggest you read about how linking programs work. Consider reading > this: > http://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html > Even though it describes C-code linking it is basically the same for > fortran (consider *.h files as *.mod files). > > / Nick > > > 2014/1/17 Swati Khatta <[email protected]> > >> thanks for your help I make that line a coment line but now I get error >> >> /usr/bin/ld: cannot find -lmpichf90 >> collect2: ld returned 1 exit status >> make: *** [siesta] Error 1 >> >> >> >> On Fri, Jan 17, 2014 at 12:56 PM, Nick Papior Andersen < >> [email protected]> wrote: >> >>> A couple of things... >>> 1) Didn't you just acknowledge that you completed the 2.0.2 scalapack >>> installation successfully? In that case I would recommend you to use that >>> library. (However, there can be other reasons you wish to use the "old" >>> library, in that case disregard this point). Remember if you use 2.0.2 to >>> remove the BLACS_LIBS line, it is not necessary. >>> 2) The COMP_LIBS is only required if you lack the LAPACK/BLAS libraries, >>> which you don't. So you should simply out-comment that line and try to >>> recompile. >>> 3) NetLIB lapack has been updated to 3.5.0, it does not affect any >>> calculations in regards of siesta, the bugfixes are to my knowledge in >>> other routines. >>> >>> Kind regards Nick >>> >>> >>> >>> 2014/1/17 Swati Khatta <[email protected]> >>> >>>> Dear siesta users >>>> >>>> I am trying to install siesta in parallel but after editing my >>>> arch.make file as given below when I try to make it it will shown me the >>>> error >>>> Compilation architecture to be used: x86_64-unknown-linux-gnu--unknown >>>> If this is not what you want, create the right >>>> arch.make file using the models in Src/Sys >>>> >>>> Hit ^C to abort... >>>> >>>> ==> Incorporating information about present compilation (compiler and >>>> flags) >>>> make[1]: Entering directory `/home/sprakash/siesta-3.1/Obj' >>>> /home/sprakash/mpich2-install/bin/mpif90 -c -g -O2 `FoX/FoX-config >>>> --fcflags` -DFC_HAVE_FLUSH -DFC_HAVE_ABORT compinfo.F90 >>>> make[1]: Leaving directory `/home/sprakash/siesta-3.1/Obj' >>>> #@rm -f compinfo.F90 >>>> >>>> make: *** No rule to make target `Libs/lapack.f', needed by >>>> `liblapack.a'. Stop. >>>> >>>> >>>> ############################################################################ >>>> >>>> # arch .make file >>>> .SUFFIXES: >>>> .SUFFIXES: .f .F .o .a .f90 .F90 >>>> >>>> SIESTA_ARCH=x86_64-unknown-linux-gnu--unknown >>>> >>>> FPP= >>>> FPP_OUTPUT= >>>> FC=/home/sprakash/mpich2-install/bin/mpif90 >>>> RANLIB=ranlib >>>> >>>> SYS=nag >>>> >>>> SP_KIND=4 >>>> DP_KIND=8 >>>> KINDS=$(SP_KIND) $(DP_KIND) >>>> >>>> FFLAGS=-g -O2 >>>> FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT >>>> LDFLAGS= >>>> ARFLAGS_EXTRA= >>>> >>>> FCFLAGS_fixed_f= >>>> FCFLAGS_free_f90= >>>> FPPFLAGS_fixed_F= >>>> FPPFLAGS_free_F90= >>>> >>>> BLAS_LIBS=/home/sprakash/libraries/BLAS/blas_LINUX.a >>>> LAPACK_LIBS=/home/sprakash/libraries/lapack-3.4.2/liblapack.a >>>> BLACS_LIBS=/home/sprakash/libraries/BLACS/LIB/blacsF77init_MPI-LINUX-0.a >>>> \ >>>> /home/sprakash/libraries/BLACS/LIB/blacsCinit_MPI-LINUX-0.a \ >>>> /home/sprakash/libraries/BLACS/LIB/blacs_MPI-LINUX-0.a >>>> SCALAPACK_LIBS=/home/sprakash/libraries/scalapack-1.8.0/libscalapack.a >>>> >>>> COMP_LIBS= blapack.a libblas.a dc_lapack.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=./home/sprakash/mpich2-install/include >>>> MPI_LIBS=/home/sprakash/mpich2-install/lib >>>> >>>> #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) $< >>>> >>>> >>>> >>>> >>> >>> >>> -- >>> Kind regards Nick >>> >> >> > > > -- > Kind regards Nick >
