[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Possible problem with LT 2.2

From: Jeff Squyres
Subject: Re: Possible problem with LT 2.2
Date: Sat, 15 Mar 2008 08:10:57 -0400

FWIW, doing what Bob suggest would add [even] more complexity to our build system -- since we allow building plugins either as standalone DSOs (which need to have their dependencies intact) or as part of the larger library, we've have to have some [more] AM conditionals that move the dependencies between the plugins and the upper-level libraries. This would be a somewhat painful -- we have a few dozen plugins, maybe a quarter of which have various dependencies.

Some details if you care...

We already have to have two build targets for "DSO mode" and "included" mode which involves some repetition in the Makefile.am. Here's the important parts from the SCTP BTL Makefile.am, for example:

sources = ....all the .c and .h files for the plugin....

if OMPI_BUILD_btl_sctp_DSO
lib =
lib_sources =
component = mca_btl_sctp.la
component_sources = $(sources)
lib = libmca_btl_sctp.la
lib_sources = $(sources)
component =
component_sources =

mcacomponentdir = $(pkglibdir)
mcacomponent_LTLIBRARIES = $(component)
mca_btl_sctp_la_SOURCES = $(component_sources)
mca_btl_sctp_la_LDFLAGS = -module -avoid-version $(btl_sctp_LDFLAGS)
mca_btl_sctp_la_LIBADD = $(btl_sctp_LIBS)

noinst_LTLIBRARIES = $(lib)
libmca_btl_sctp_la_SOURCES = $(lib_sources)
libmca_btl_sctp_la_LDFLAGS = -module -avoid-version $(btl_sctp_LDFLAGS)
libmca_btl_sctp_la_LIBADD = $(btl_sctp_LIBS)

It would be great to be able to have shorter / less repetitive syntax for all of this (i.e, having to essentially duplicate the code led to the error in this thread), but:

- I'm assuming that what we're doing (compiling as DSO/convenience library) is probably not very common - I realize that this is the LT list, not the AM list. I'm just trying to justify my previous comments. :-)

On Mar 14, 2008, at 10:28 PM, Ralf Wildenhues wrote:

Hello Bob,

* Bob Friesenhahn wrote on Sat, Mar 15, 2008 at 02:55:37AM CET:
IMHO it is wrong for convenience libraries to have dependencies.

Sorry, but that comment just throws out half a decade of common practice
out the window.  IMNSHO, that's a no go.

This issue can be resolved by specifying linkage dependencies at a
higher level.

But that's just inconvenient.  The opposite of what convenience
libraries are supposed to be, and have been, so far.

I will look at the actual error, later.


Jeff Squyres
Cisco Systems

reply via email to

[Prev in Thread] Current Thread [Next in Thread]