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 <[email protected]>
Subject: [Beowulf] Issue in finding libraries on the unix path
To: [email protected]
Message-ID:
<[email protected]>
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: [email protected]
web: http://sassy.formativ.net
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
_______________________________________________
Beowulf mailing list, [email protected] sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf