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
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil