On Mar 24, 2006, at 6:11 PM, Troy Telford wrote:

Noticing the FAQ, http://www.open-mpi.org/faq/? category=building#build-rte

Rather than simply running `./confiugre --disable-shared --enable static`
and having /everything/ compiled statically, is it possible to compile
only the bare minimum to get the tm module working, and leave the rest as
dynamically loadable?

--enable-mca-static=pls:tm,ras:tm doesn't seem to cut it, as liborte is
still compiled dynamically; and I don't know enough of the Open MPI
architecture to say if this is even feasable...

My (admittedly somewhat limited) knowledge of linkers and loaders and whatnot would seem to imply that this is not possible, not from an Open MPI architecture standpoint, but from a "how Linux works" standpoint. If --enable-mca-static=pls:tm,ras:tm doesn't work when liborte is compiled dynamically (I know this works without warning on x86 Linux - I take it by your comment that it didn't work with x86_64 Linux).

So that leaves us with compiling liborte statically. If we do this, then we really can't have dynamically loaded modules, because they all depend on code in liborte and the loader isn't going to be able to patch that up when they are loaded. So unless someone knows a fairly trivial way of getting around that, I think we're stuck.

I do realize that it would be easier if PBS Professional were compiled
with -fPIC so that a DSO tm module could be built; I've asked Altair's
support to do so in the past, and received a response to the effect of
"it's in the suggestion box; no idea if it will happen."

That's just poor response, but that's generally been my opinion of Altair lately. I'm aware this limits the usability of one of the prime features of Open MPI, but the truth is, it's their poor product that is the problem. The freely available derivatives of PBS all seemed more than happy to help with building the tm libraries with - fPIC.

Brian

--
  Brian Barrett
  Open MPI developer
  http://www.open-mpi.org/



Reply via email to