Trying to embed gnu.xml.dom.DomDocumentBuilderFactory

David Daney ddaney@avtrex.com
Sat Apr 21 17:52:00 GMT 2007


Andrew Haley wrote:
> David Daney writes:
>  > Mohsen Saboorian wrote:
>  > > On 4/21/07, Andrew Haley <aph@littlepinkcloud.com> wrote:
>  > >> Mohsen Saboorian writes:
>  > >>  > On 4/21/07, Andrew Haley <aph-gcc@littlepinkcloud.com> wrote:
>  > >>  > > Mohsen Saboorian writes:
>  > >>  > >  > I filled a bug report:
>  > >>  > >  > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31647
>  > >>  > >  >
>  > >>  > >  > Andrew, newing DomDocumentBuilderFactory workaround didn't 
>  > >> work for
>  > >>  > >  > me. Do you know any other workaround ;)?
>  > >>  > >
>  > >>  > > Did you follow my suggestion?
>  > >>  > >
>  > >>  >
>  > >>  > Yes, and there was some entries for both
>  > >>  > gnu.xml.dom.DomDocumentBuilderFactory and gnu.xml.dom.DomImpl.
>  > >>
>  > >> No, you need the dump for gnu.xml.dom.DomDocumentBuilderFactory and
>  > >> gnu.xml.dom.DomImpl.  It's *their* dependencies that are causing the
>  > >> problems.
>  > >>
>  > >> Andrew.
>  > >>
>  > >
>  > > As you see in attachments, there is no dependency between two classes
>  > > DomDocumebtBuilderFactory and DomImpl.
>  > >
>  > > But what about NoClassDefFounError in my class in which I explicitly
>  > > new'd DomImpl?
>  > Try running under gdb with a breakpoint in the NoClassDefFoundError 
>  > constructor.  You can then walk up the stack a bit and see which class 
>  > it is looking for.
>
> Yes.  
>
> Something has just dawned on me: all the XML stuff is built with
> indirect dispatch in the current libgcj, and that will break
> everything when linking statically!
>
> Mohsen, we build the XML stuff with indirect dispatch so that it can
> easily be dynamically replaced, but this is bad for you.  Edit
> scripts/makemake.tcl so that lines like these are removed:
>
> set package_map(gnu/xml/util) bc
> set package_map(javax/xml) bc
>   
We already use different options (-fPIC, etc) for shared objects.  We 
should probably also make the BC ABI dependent on this also.

David Daney



More information about the Java mailing list