Hi Mahmood, Another possibility, if you are managing that rocks cluster, would be to propagate packages installed on the head node to the slave nodes. Basically you’d have to edit a new xml config file, and build a new rocks distro.
See eg. http://www.rocksclusters.org/roll-documentation/base/5.4/customization-adding-packages.html <http://www.rocksclusters.org/roll-documentation/base/5.4/customization-adding-packages.html> arthur > On 08 Jul 2016, at 17:44, Mahmood Naderan <mahmood...@gmail.com> wrote: > > Hi again, > There are some problems with the linking the libraries for parallel > execution. The system is based on ROCKS and if an MPI jobs is going to be run > on the compute nodes, all libraries should be available on the nodes. > Anyway... > > As another try, I am rebuilding siesta parallel by downloading the source > codes of the dependent libraries and install them on the NFS folder which is > shared between nodes (the previous approach uses the package manager of the > head node; hence nodes are not aware of that libraries). > > Please correct the following if I am wrong. > > Siesta needs the following libraries for a parallel run: > OpenMPI > LAPACK > BLACS > BLAS > SCALAPACK > > I have installed OpenMPI from source and it is fine. It seems that some of > the above mentioned libraries are merged into others. For example, according > to the release note of scalapack-2.0.0: > > The BLACS is now part of ScaLAPACK, and is compiled into the ScaLAPACK > library. It is no longer necessary to link against BLACS libraries. > > After building Scalapack, I see libscalapack.a. > > Next, I downloaded LAPACK-3.6.1 and built it. The following libraries are > built > > liblapack.a > librefblas.a > libtmglib.a > > > So, I think everything that I need are present. > > Now, consider the following section of arch.make of siesta > > #BLAS_LIBS=-lcblas -lf77blas -latlas > BLAS_LIBS=libblas.a > LAPACK_LIBS=dc_lapack.a liblapack.a > BLACS_LIBS= > #BLACS_LIBS=-lblacsCinit -lblacsF77init -lblacs > SCALAPACK_LIBS=-lscalapack > # Tricky business ... > NETCDF_INCFLAGS= -I/usr/include > NETCDF_LIBS= -lnetcdf -lnetcdff > #NETCDF_INTERFACE=libnetcdf_f90.a > LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) > $(NETCDF_LIBS) > > > As I borrowed From Robert (RCP). > > I have to change those line, but I am not sure what to do. Here is my > suggestion > > LAPACK_LIBS=liblapack.a librefblas.a libtmglib.a > SCALAPACK_LIBS=libscalapack.a > NETCDF_INCFLAGS= -I/usr/include > NETCDF_LIBS= -lnetcdf -lnetcdff > LIBS=$(SCALAPACK_LIBS) $(LAPACK_LIBS) $(NETCDF_LIBS) > > > Any idea? > > > Regards, > Mahmood >