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:
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...