Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [Pkg-openmpi-maintainers] Bug#512616: [openmpi] missing symbols?
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-01-23 06:39:26

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/ 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