On Thu, 13 Dec 2007, Jeff Squyres wrote:
Specifically: it would probably require some significant hackery in the OMPI build process to put in a #define that indicates whether OMPI is being built statically or not. But the AM/LT process shields this information from the build process by design (part of the issue is that AM/LT allows both static and shared libraries to be built simultaneously). We'd then have to introduce some global symbol that could be queried that is outside of the MPI interface. Neither of these things are attractive. :-(
Well, if libmpi.a is static, then this whole conversation is pointless because you're not going to dlopen it in the first place.
But it is easy for OPen MPI to figure out whether it's statically or dynamically linked, as libtool compiles the code twice if building both static and shared and you could poke at #defines to figure out what's going on -- easy enough to deal with. I just don't think we should be doing so :).
Brian