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.

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.

Best regards
Manuel
Index: libopenmpi-dev.install
===================================================================
--- libopenmpi-dev.install	(Revision 86)
+++ libopenmpi-dev.install	(Arbeitskopie)
@@ -2,7 +2,15 @@
 usr/lib/openmpi/include/*
 usr/lib/openmpi/lib/*.la
 usr/lib/openmpi/lib/openmpi/*.la
-usr/lib/openmpi/lib/*.so
+usr/lib/openmpi/lib/libmpi.so.0.0.0
+usr/lib/openmpi/lib/libmpi.so.0
+usr/lib/openmpi/lib/libmpi_cxx.so.0.0.0
+usr/lib/openmpi/lib/libmpi_cxx.so.0
+usr/lib/openmpi/lib/libmpi_f77.so.0.0.0
+usr/lib/openmpi/lib/libmpi_f77.so.0
+usr/lib/openmpi/lib/libmpi_f90.so.0.0.0
+usr/lib/openmpi/lib/libmpi_f90.so.0
+usr/lib/openmpi/lib/mpi.mod
 usr/share/man/man1/mpicc.openmpi.1
 usr/share/man/man1/mpic++.openmpi.1
 usr/share/man/man1/mpicxx.openmpi.1
Index: libopenmpi1.install
===================================================================
--- libopenmpi1.install	(Revision 86)
+++ libopenmpi1.install	(Arbeitskopie)
@@ -1,16 +1,7 @@
 usr/lib/openmpi/lib/libmca_common_sm.so.0.0.0
 usr/lib/openmpi/lib/libmca_common_sm.so.0
-usr/lib/openmpi/lib/libmpi.so.0.0.0
-usr/lib/openmpi/lib/libmpi.so.0
-usr/lib/openmpi/lib/libmpi_cxx.so.0.0.0
-usr/lib/openmpi/lib/libmpi_cxx.so.0
-usr/lib/openmpi/lib/libmpi_f77.so.0.0.0
-usr/lib/openmpi/lib/libmpi_f77.so.0
-usr/lib/openmpi/lib/libmpi_f90.so.0.0.0
-usr/lib/openmpi/lib/libmpi_f90.so.0
 usr/lib/openmpi/lib/libopen-pal.so.0.0.0
 usr/lib/openmpi/lib/libopen-pal.so.0
 usr/lib/openmpi/lib/libopen-rte.so.0.0.0
 usr/lib/openmpi/lib/libopen-rte.so.0
 usr/lib/openmpi/lib/openmpi/*.so
-usr/lib/openmpi/lib/mpi.mod
Index: libopenmpi-dev.links
===================================================================
--- libopenmpi-dev.links	(Revision 86)
+++ libopenmpi-dev.links	(Arbeitskopie)
@@ -9,3 +9,6 @@
 usr/bin/opal_wrapper    usr/bin/ortec++
 usr/bin/opal_wrapper    usr/bin/ortecc
 usr/share/man/man1/mpic++.openmpi.1     usr/share/man/man1/mpiCC.openmpi.1
+usr/lib/openmpi/lib/libmpi_cxx.so.0         usr/lib/libmpi_cxx.so
+usr/lib/openmpi/lib/libmpi_f77.so.0         usr/lib/libmpi_f77.so
+usr/lib/openmpi/lib/libmpi_f90.so.0         usr/lib/libmpi_f90.so
Index: libopenmpi-dev.postinst
===================================================================
--- libopenmpi-dev.postinst	(Revision 86)
+++ libopenmpi-dev.postinst	(Arbeitskopie)
@@ -4,21 +4,8 @@
 
 update-alternatives \
 	--install /usr/include/mpi mpi /usr/lib/openmpi/include 5 \
-	--slave /usr/lib/libmca_common_sm.la libmca_common_sm.la /usr/lib/openmpi/lib/libmca_common_sm.la \
-	--slave /usr/lib/libmca_common_sm.so libmca_common_sm.so /usr/lib/openmpi/lib/libmca_common_sm.so \
-	--slave /usr/lib/libmpi.so libmpi.so /usr/lib/openmpi/lib/libmpi.so \
-	--slave /usr/lib/libmpi.la libmpi.la /usr/lib/openmpi/lib/libmpi.la \
-	--slave /usr/lib/libmpi_cxx.la libmpi_cxx.la /usr/lib/openmpi/lib/libmpi_cxx.la \
-	--slave /usr/lib/libmpi_cxx.so libmpi_cxx.so /usr/lib/openmpi/lib/libmpi_cxx.so \
-	--slave /usr/lib/libmpi_f77.la libmpi_f77.la /usr/lib/openmpi/lib/libmpi_f77.la \
-	--slave /usr/lib/libmpi_f77.so libmpi_f77.so /usr/lib/openmpi/lib/libmpi_f77.so \
-	--slave /usr/lib/libmpi_f90.la libmpi_f90.la /usr/lib/openmpi/lib/libmpi_f90.la \
-	--slave /usr/lib/libmpi_f90.so libmpi_f90.so /usr/lib/openmpi/lib/libmpi_f90.so \
-	--slave /usr/lib/libopen-pal.la libopen-pal.la /usr/lib/openmpi/lib/libopen-pal.la \
-	--slave /usr/lib/libopen-pal.so libopen-pal.so /usr/lib/openmpi/lib/libopen-pal.so \
-	--slave /usr/lib/libopen-rte.la libopen-rte.la /usr/lib/openmpi/lib/libopen-rte.la \
-	--slave /usr/lib/libopen-rte.so libopen-rte.so /usr/lib/openmpi/lib/libopen-rte.so \
-	--slave /usr/lib/mpi.mod mpi.mod /usr/lib/openmpi/lib/mpi.mod \
+	--slave /usr/lib/libmpi.so libmpi.so /usr/lib/openmpi/lib/libmpi.so.0 \
+	--slave /usr/lib/libmpi.la libmpi.la /usr/lib/openmpi/lib/libmpi.la.0 \
 	--slave /usr/bin/mpicc mpicc /usr/bin/mpicc.openmpi \
 	--slave /usr/bin/mpic++ mpic++ /usr/bin/mpic++.openmpi \
 	--slave /usr/bin/mpicxx mpicxx /usr/bin/mpic++.openmpi \
Index: libopenmpi1.links
===================================================================
--- libopenmpi1.links	(Revision 0)
+++ libopenmpi1.links	(Revision 0)
@@ -0,0 +1,3 @@
+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

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to