On Apr 28, 2009, at 7:50 AM, Ralph Castain wrote:
I'd be fascinated to understand how this works. There are multiple
function calls in MPI_Init, for example, that simply don't exist in
1.3.x. There are references to fields in structures that are no longer
present, though the structure itself does still exist. Etc.
It should be ok (from this perspective, at least -- I think it'll
crater due to other reasons) -- he has two separate installs of OMPI:
/opt/ompi-1.2
/opt/ompi-1.3
He builds his app with /opt/ompi-1.2/bin/mpicc.
But then he sets his LD_LIBRARY_PATH to /opt/ompi-1.3/lib/ and runs
his app with /opt/ompi-1.3/bin/mpirun. This means his app will run-
time link against /opt/ompi-1.3/lib/libmpi.so. That libmpi.so has an
explicit linker dependency on the /opt/ompi-1.3/lib/libopen-rte.so,
which then depends on /opt/ompi-1.3/lib/libopen-pal.so.
Hence, he's pulling in the libopen-rte.so and libopen-pal that
correspond with the libmpi.so that he's linking against. So at least
he'll get internal consistency there.
As I mentioned before, I think it'll fail for other reasons :-), but I
*think* it should pick up a consistent set of libmpi.so, libopen-
rte.so, and libopen-pal.so...
--
Jeff Squyres
Cisco Systems