[Pkg-openmpi-maintainers] Bug#456721: Processed: Re: Bug#456721: libpetsc.so depends on unexistent libraries
Adam C Powell IV
hazelsct at debian.org
Tue Dec 18 13:50:37 UTC 2007
Hello,
On Tue, 2007-12-18 at 02:00 +0100, Manuel Prinz wrote:
> Hi guys!
>
> Am Montag, den 17.12.2007, 17:53 -0500 schrieb Adam C Powell IV:
> > That already happens via alternatives slaves. As discussed earlier,
> > it's inappropriate with ABI-incompatible soname-named files e.g. *.so.0
> >
> > I think we're going in the right direction: alternatives for *.so and
> > different filenames in /usr/lib for *.so.0 , right?
>
> The attached patch is what I came up so far and it looks quite promising
> to me. But I'd really like to have it reviewed before I apply it to
> trunk.
>
> It splits the libs to both packages. libopen-pal and libopen-rte are
> required by mpi{run,exec}, so I put them into libopenmpi1. I did so as
> well with libmca_common_sm and the private .so files though I'm not sure
> if they're needed by these tools. Dirk, do you know by hard? I have to
> look that up otherwise. (I think they're dlopen'ed, aren't they?)
>
> All other libs went into libopenmpi-dev. Those conflicting with other
> packages are handled by u-a. Links to .so files are just created in the
> libopenmpi-dev package, libopenmpi1 creates links to .so.0 files. I have
> in mind this is correct but it's really late here and that makes me
> doubt that these changes make sense. Anyway, I think it's at least a
> step further to the solution, if not the solution itself.
A couple of notes:
* The lib*.so.0.0.0 and lib*.so.0 files *must* be in libopenmpi1,
that's the shared lib package which other packages will link to
at runtime. So please move those files and the .so.0 files back
into libopenmpi1.
* libopenmpi1 also needs *.so.0 links in /usr/lib.
If this is not clear, chapter 8 of Debian Policy on shared libs might
help: http://www.debian.org/doc/debian-policy/ch-sharedlibs.html
Here's what libopenmpi1.links might look like:
usr/lib/openmpi/lib/libmca_common_sm.so.0 usr/lib/libmca_common_sm.so.0
usr/lib/openmpi/lib/libopen-pal.so.0 usr/lib/libopen-pal.so.0
usr/lib/openmpi/lib/libopen-rte.so.0 usr/lib/libopen-rte.so.0
usr/lib/openmpi/lib/libmpi.so.0 usr/lib/libmpi.so.0
usr/lib/openmpi/lib/libmpi_cxx.so.0 usr/lib/libmpi_cxx.so.0
usr/lib/openmpi/lib/libmpi_f77.so.0 usr/lib/libmpi_f77.so.0
usr/lib/openmpi/lib/libmpi_f90.so.0 usr/lib/libmpi_f90.so.0
You might want to take a look at other packages with lib(-dev), I think
you'll see all of the .so.0.0.0 and .so.0 are in lib* and all of the .so
and .a and .la are in lib*-dev.
> As a last note, I successfully build with the patch. I did not check the
> packages, not even with lintian. There's a change they won't work at
> all. I'll leave that for tomorrow.
Thanks for your work on the package,
-Adam
--
GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6
Engineering consulting with open source tools
http://www.opennovation.com/
More information about the Pkg-openmpi-maintainers
mailing list