This is the mail archive of the rhug-rhats@sources.redhat.com mailing list for the RHUG project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

merged-libs-branch


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/ ]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]