[Beowulf] Re: Beowulf Digest, Vol 62, Issue 64

Jörg Saßmannshausen jorg.sassmannshausen at strath.ac.uk
Thu Apr 16 02:12:47 PDT 2009


Dear Francesco,

as for the -rpath, during linking time you can use something like that:
-Xlinker,--rpath=/full/path/to/library -lmylib
All you need to make sure is that
/full/path/to/library
is available on all machines in _exactly_ the same way. So use something 
like /usr/local/lib for it.

As for intel, I am using -i-static in the linking stage. That does 
apparently link all the intel libs staticaly.

What I am doing is, if possible, I am linking statically as that saves 
all the hassle with rpath and suchlike. Bigger binary, when you update a 
library (like BLAS) you got to relink (not recompile, linking is 
enough), but it also saves you time messing with the above stuff.

By the way, you don't need to build openmpi with the intel _fortran_ 
compiler, gcc is doing a good job here, and that saves you the hassle to 
install the missing libraries on the nodes.

I hope that helps a bit.

All the best

Jörg


> Message: 1
> Date: Mon, 13 Apr 2009 23:34:23 +0200
> From: Francesco Pietra <francesco.pietra at accademialucchese.it>
> Subject: [Beowulf] Issue in finding libraries on the unix path
> To: beowulf at beowulf.org
> Message-ID:
>         <b87c422a0904131434i579b0e26j3c3ab741e8a6f417 at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
> 
> Hi:
> With debian amd64 lenny I have circumvented the issue
> 
> "dynamic linkage is also a headache in that the mechanisms
> used to find shared libraries during dynamic loading are not all that robust
> on Linux systems running MPICH or other MPI packages
> ....................  for the compilers that use compiler shared
> libraries (ifort, pathscale), we use LD_LIBRARY_PATH during
> configuration to set an -rpath
> linkage option, which is reliably available in the executable."
> 
> by compiling with gcc g++ gfortran, both openmpi-1.3.1 and a parallel
> computational code. With intel compilers (contrary to the time of debian
> amd64 etch and a simpler dual-opteron computer) I was unable to have
> them recognizing their library limf.so, although it is available at
> boot on the unix path.  A mixed gcc g++ ifort compilation for
> openmpi-1.3.1 succeeded with two-socket mainboards, not with 4-socket
> ones.
> 
> Unfortunately, the fastest executable (+ 40%) of the said code lists
> in "./configure -help'
>  compaqf90           (Compaq Fortran 90, osf1_alpha only)
>     f90                 (Native Fortran 90, sgi_mips)
>     ifort               (Intel Fortran Compiler, v8+, linux*, sgi_altix)
>     pathf90             (Pathscale Fortran 90/95, linux64_opteron only)
>     pgf90               (Portland Group Fortran 90/95, cray*, linux*)
>     xlf90               (IBM xlf90/mpxlf90/mpxlf90_r, aix_spx only)
> 
> of which I only have intls, with th said problems. I
> must rely on this faster executable, otherwise, with limited hardware,
> I can't perform the simulations.
> 
> Question: could you please clarify how to implement the above "-rpath
> linkage option"?
> Also, is there any hope to satisfy the f90-type compiler request with
> gfortran or other gnu fortran compiler? What I did is sourcing the
> path to the libraries at boot
> (calling from my .bashrc the intel *.sh file to this concern. "echo
> $LD_LIBRARY_PATH" shows the path to the requested library but intel
> does not see it.
> 
> Thanks a lot
> francesco pietra

-- 
*************************************************************
Jörg Saßmannshausen
Research Fellow
University of Strathclyde
Department of Pure and Applied Chemistry
295 Cathedral St.
Glasgow
G1 1XL

email: jorg.sassmannshausen at strath.ac.uk
web: http://sassy.formativ.net

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html






More information about the Beowulf mailing list