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
>

Responder a