[Pkg-openmpi-maintainers] Bug#502232: Bug#502232: Bug#502232: libopenmpi-dev: No static libraries in the package

Dirk Eddelbuettel edd at debian.org
Tue Oct 14 23:32:45 UTC 2008


On 15 October 2008 at 00:43, Sylvestre Ledru wrote:
| 
| > at the top of the Makefile under "A word of explanation"). The fact that the
| > shared libraries aren't present, when using "--enable-static" for configure,
| > seems to cause problems for dh_install in the dpkg-buildpackage process.
| > After the builds are done, via dpkg-buildpackage, the process gets to a
| > point where:
| > 
| > dh_install -s --sourcedir=/usr/local/src/openmpi-1.2.7/debian/openmpi 
| > --list-missing
| > 
| > is executed and it fails with:
| > 
| > cp: cannot stat 
| > `/usr/local/src/openmpi-1.2.7/debian/openmpi/usr/lib/openmpi/lib/libmca_common_sm.so.0.0.0': 
| > No such file or directory
| What is the behaviour we prefer here ?
| 
| Here is the full comment from the Makefile:
| 
| # This library is linked against various MCA components because all
| # shared-memory based components (e.g., mpool, ptl, etc.)  need to
| # share some common code and data.  There's two cases:
| #
| # 1. libmca_common_sm.la is a shared library.  By linking that shared
| # library to all components that need it, the OS linker will
| # automatically load it into the process as necessary, and there will
| # only be one copy (i.e., all the components will share *one* copy of
| # the code and data).
| #
| # 2. libmca_common_sm.la is a static library.  In this case, it will
| # be rolled up into the top-level libmpi.la.  It will also be rolled
| # into each component, but then the component will also be rolled up
| # into the upper-level libmpi.la.  Linkers universally know how to
| # "figure this out" so that we end up with only one copy of the code
| # and data.
| #
| # Note that building this common component statically and linking
| # against other dynamic components is *not* supported!

Seems sensible enough.
 
| I commited a solution in our SVN, I just remove this library from the
| libopenmi1 package and import *.a & *.la.
| 
| As it is said in the Makefile, it will work but we are duplicating this
| code in each component.
| However, /usr/lib/openmpi/lib/libmca_common_sm.so.0.0.0 is only 6k... 
| We could go this way.
| 
| Any objections ?
| If not, I will upload it tomorrow.

I'd say go for it, especially if you can run one set of tests from an Open
MPI 'consumer' -- probably scilab in your case ? -- and see that everythings
still works.

Thanks for doing this, and so quickly to boot!

Dirk

-- 
Three out of two people have difficulties with fractions.






More information about the Pkg-openmpi-maintainers mailing list