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

Reply via email to