On Jan 23, 2009, at 3:09 AM, Christophe Prud'homme wrote:
FWIW, "drop in replacement" in this context means recompile and
relink. We
did not provide binary compatibility between the 1.2 series and the
1.3
series.
that would mean that all libs and programs in Debian depending on
openmpi must be recompiled and relinked
yes ?
Correct. Completely coincidentally and unrelated to this e-mail
thread, Sun, Cisco, Sandia, and U. Tennessee have had a bunch of
conversations over this past week about how to avoid this for future
versions (i.e., be able to have forward binary compatibility if you
compile against OMPI va.b, you can change your LD_LIBRARY_PATH and run
with OMPI vc.d). If all goes well, this will work for v1.4 and
forward -- it will likely *not* be true for the v1.3.x series.
I have another package in debian using openmpi called paraview for
parallel scientific visualisation
paraview
paraview: symbol lookup error:
/usr/lib/paraview/libvtkParallel.so.pv3.4: undefined symbol:
_ZN3MPI3Win14Set_errhandlerERKNS_10ErrhandlerE
the same link problem as with hypre
now after some investigation when I look in
openmpi/ompi/mpi/cxx/{win,comm}_inlin.h
I find the _inline_ implementation of MPI::Win::Set_errhandler and
MPI::Comm::Set_errhandler
it seems that before openmpi 1.3 these functions where provided with
the library, i.e. they were not inlined
but shipped with the mpi_cxx lib.
Correct. IIRC, we made this change because we eliminated the use of
the STL from our C++ bindings and it was therefore unnecessary to have
these functions in the library anymore (the vast majority of the
OMPI's C++ MPI API bindings are inlined).
It means that, indeed, we _must_ recompile/relink all libs and
programs in Debian depending on openmpi
Sorry about that. :-(
--
Jeff Squyres
Cisco Systems