public inbox for rhug-rhats@sourceware.org
 help / color / mirror / Atom feed
* merged-libs-branch
@ 2003-09-30 11:04 Gary Benson
  2003-09-30 15:22 ` merged-libs-branch Anthony Green
  2003-10-01 21:39 ` merged-libs-branch Tom Tromey
  0 siblings, 2 replies; 5+ messages in thread
From: Gary Benson @ 2003-09-30 11:04 UTC (permalink / raw)
  To: rhug-rhats

Hi,

The merged-libs-branch in xerces, xalan and mx4j contains fixes for
broken circular linking which makes dlopen() fail on some of the
libraries in these packages.

The problem was that mx4j, for example, has two class heirachies:
javax.management and mx4j, javax.management being the interface and
mx4j being the implementation.  For this to be linked 'correctly'
lib-javax-management must be linked to lib-mx4j and lib-mx4j
must be linked to lib-javax-management.

While it's theoretically possible to do this it isn't recommended; I
could just feel Uli crossing himself as he answered my emails ;) In
RHUG HEAD this problem is avoided by not linking lib-j-m to lib-mx4j,
and linking lib-mx4j to executables that need it.

In merged-libs-branch I moved the classes around so that there were no
circular links.  In xerces the classes from org.w3c.dom,
org.apache.xerces and org.apache.xml.serialize were moved into
lib-javax-xml-parsers; xalan, the classes from org.apache.xml and
org.apache.xpath were moved into lib-org-apache-xalan; and in mx4j the
classes from mx4j were moved into lib-javax-management.  Dummy
libraries were created for org.w3c.dom, org.apache.xerces,
org.apache.xml.serialize, org.apache.xml, org.apache.xpath and mx4j;
the dummies are empty libraries that link to the libraries that
actually contain their classes.

It all seems to work beautifully.  Anyone mind if I merge the changes
into HEAD?

Cheers,
Gary

[ gbenson@redhat.com ][ GnuPG 85A8F78B ][ http://inauspicious.org/ ]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: merged-libs-branch
  2003-09-30 11:04 merged-libs-branch Gary Benson
@ 2003-09-30 15:22 ` Anthony Green
  2003-09-30 15:41   ` merged-libs-branch Gary Benson
  2003-10-01 21:39 ` merged-libs-branch Tom Tromey
  1 sibling, 1 reply; 5+ messages in thread
From: Anthony Green @ 2003-09-30 15:22 UTC (permalink / raw)
  To: Gary Benson; +Cc: rhug-rhats

On Tue, 2003-09-30 at 04:04, Gary Benson wrote:
> It all seems to work beautifully.  Anyone mind if I merge the changes
> into HEAD?

Sounds good to me.

BTW - why isn't this kind of cross linking recommended?

AG

-- 
Anthony Green <green@redhat.com>
Red Hat, Inc.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: merged-libs-branch
  2003-09-30 15:22 ` merged-libs-branch Anthony Green
@ 2003-09-30 15:41   ` Gary Benson
  0 siblings, 0 replies; 5+ messages in thread
From: Gary Benson @ 2003-09-30 15:41 UTC (permalink / raw)
  To: rhug-rhats

Anthony Green wrote:
> On Tue, 2003-09-30 at 04:04, Gary Benson wrote:
> > It all seems to work beautifully.  Anyone mind if I merge the changes
> > into HEAD?
> 
> Sounds good to me.
> 
> BTW - why isn't this kind of cross linking recommended?

From Uli:
- the order in which the DSO constructors are called might be wrong.
- it may not be possible to unload such a library.
- even if it is, the destructors will not be run at dlclose() time.

Gary

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: merged-libs-branch
  2003-09-30 11:04 merged-libs-branch Gary Benson
  2003-09-30 15:22 ` merged-libs-branch Anthony Green
@ 2003-10-01 21:39 ` Tom Tromey
  2003-10-02  8:42   ` merged-libs-branch Gary Benson
  1 sibling, 1 reply; 5+ messages in thread
From: Tom Tromey @ 2003-10-01 21:39 UTC (permalink / raw)
  To: Gary Benson; +Cc: rhug-rhats

Gary> The merged-libs-branch in xerces, xalan and mx4j contains fixes for
Gary> broken circular linking which makes dlopen() fail on some of the
Gary> libraries in these packages.

When the new binary compatibility ABI is ready, we can just not have
libraries link against one another at all.  In fact, that will be the
preferred approach.

Tom

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: merged-libs-branch
  2003-10-01 21:39 ` merged-libs-branch Tom Tromey
@ 2003-10-02  8:42   ` Gary Benson
  0 siblings, 0 replies; 5+ messages in thread
From: Gary Benson @ 2003-10-02  8:42 UTC (permalink / raw)
  To: rhug-rhats

Tom Tromey wrote:
> Gary> The merged-libs-branch in xerces, xalan and mx4j contains fixes for
> Gary> broken circular linking which makes dlopen() fail on some of the
> Gary> libraries in these packages.
> 
> When the new binary compatibility ABI is ready, we can just not have
> libraries link against one another at all.  In fact, that will be
> the preferred approach.

Excellent!  Things being linked together causes all manner of problems
with Tomcat's classloader stack...

Gary

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-10-02  8:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-30 11:04 merged-libs-branch Gary Benson
2003-09-30 15:22 ` merged-libs-branch Anthony Green
2003-09-30 15:41   ` merged-libs-branch Gary Benson
2003-10-01 21:39 ` merged-libs-branch Tom Tromey
2003-10-02  8:42   ` merged-libs-branch Gary Benson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).