Bug#653616: libmpich2-dev: Missing library linkage for libmpich.so on MIPS(el) and S390

Adam C Powell IV hazelsct at debian.org
Wed Jan 11 22:10:41 UTC 2012


Hello Pavan,

On Wed, 2012-01-11 at 12:49 -0600, Pavan Balaji wrote:
> Hi Adam,
> 
> On 01/11/2012 12:26 PM, Adam C Powell IV wrote:
> > But since we made that switch that switch in early December, MPICH2 has
> > been breaking a number of package builds now which used to work with
> > LAM, and some of those breakages have been because of this issu.
> 
> In what way are they breaking?  We'd like to hear about such issues and 
> get them fixed.

See the previous emails: when one links a library or executable with
"-lmpi", and libmpi.so is linked to libmpich.so, then it breaks with
undefined symbols which all start with MPL_ .

Regarding binutils-gold, because libmpich.so is an ELF object, it needs
to link with all of the libraries whose symbols it uses, including
libmpl.so, otherwise building libmpich.so with binutils-gold will result
in the same error involving the undefined symbols starting with MPL_ .

> > Let me ask this way: is a reason you do not want libmpich.so to link
> > with -lmpl?  libmpich uses libmpl's symbols, so one cannot use libmpich
> > without libmpl, so I don't see the harm in making such a link.
> >
> > If I make a patch which links libmpich with libmpl, will you adopt it in
> > the Debian mpich2 package?
> 
> I'm not quite sure what you mean by linking the two libraries.  Do you 
> mean you'll embed the symbols from libmpl into libmpich?  Or did you 
> mean inter-library dependencies?
> 
> http://www.gnu.org/software/libtool/manual/html_node/Inter_002dlibrary-dependencies.html
> 
> Note that this is not portable, so there'll need to be a configure 
> option to enable it for platforms that libtool supports it on.

I meant inter-library dependencies, for the shared library (not the
static one).  I believe that libtool is intelligent enough so that if
you give it the dependency libs it will decide based on the platform
whether and how to do the linking.

Then again, mpich2 seems to use its own createshlib script instead of
libtool.  But it has the dependentLibs variable which includes all of
the -L and -l on the command line, so "-Lmpl -lmpl" should work -- on
platforms that support it.

Perhaps the simplest way is to do this as a Debian-only patch to the
top-level Makefile.in applied at build time from the debian/patches
directory, like the destdir patch.  What do you think?

-Adam
-- 
GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Engineering consulting with open source tools
http://www.opennovation.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20120111/f8ce04f7/attachment.pgp>


More information about the debian-science-maintainers mailing list