Re: NPE in parser->getDOMImplementation() with CNI
Sam Ruby <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
Andrew Haley wrote: > Sam Ruby wrote: >> Andrew Haley wrote: >>> Mark Wielaard wrote: >>>> On Sun, 2009-06-21 at 16:46 +0100, Andrew Haley wrote: >>>>> Sam Ruby wrote: >>>>>> I'm trying to develop a JAXP implementation using CNI, but I get a >>>>>> NullPointerException when I try to get a DOMImplementation. I've >>>>>> attached a small script (tested on Ubuntu 9.04) which demonstrates the >>>>>> problem. >>>>>> >>>>>> Any help would be appreciated. >>>>> Congratulations on this excellent test case. Next time I want to tell >>>>> people how to do it right, I'll point them at your posting. >>>>> >>>>> However, I get >>>>> >>>>> $ sh ~/testdomimpl.sh >>>>> gnu.xml.dom.DomDocumentBuilderFactory@160ecdad >>>>> gnu.xml.dom.DomDocumentBuilder@15ffbc45 >>>>> gnu.xml.dom.DomImpl@15ef0ee5 >>>>> >>>>> gnu.xml.dom.DomDocumentBuilderFactory@2df0bea7 >>>>> gnu.xml.dom.DomDocumentBuilder@2de03d5f >>>>> gnu.xml.dom.DomImpl@2dd0bfdf >>>>> $ gcj --version >>>>> gcj (GCC) 4.4.0 20090307 (Red Hat 4.4.0-0.23) >>>> I get the same with that version of gcj. >>>> But on an older gcj installation: >>>> gcj (Debian 4.3.2-2) 4.3.2 >>>> >>>> gnu.xml.dom.DomDocumentBuilderFactory@6992f029 >>>> gnu.xml.dom.DomDocumentBuilder@647a3539 >>>> gnu.xml.dom.DomImpl@64826fa9 >>>> >>>> gnu.xml.dom.DomDocumentBuilderFactory@17d5dffb >>>> gnu.xml.dom.DomDocumentBuilder@12bcf52b >>>> java.lang.NullPointerException >>>> at java.io.PrintStream.println(PrintStream.java:473) >>> I found the problem. >>> >>> There is an implementation of jaxp in /usr/share/java/jaxp-1.3.jar and >>> another in /usr/lib/libgcj.so.90. They are not the same version, and >>> they are not compatible. >>> >>> If you link against /usr/lib/libgcj.so.90 then you must compile against >>> the version of jaxp in that library. >>> >>> Do this: >>> >>> gcjh -cp /usr/share/java/libgcj.jar -d headers \ >>> org.w3c.dom.DOMImplementation \ >>> javax.xml.parsers.DocumentBuilder \ >>> javax.xml.parsers.DocumentBuilderFactory >> I still see the problem. Even after I apt-get remove libjaxp1.3-java-gcj. > > The problem is not libjaxp1.3-java-gcj, it's libjaxp1.3-java Bingo! apt-get remove libjaxp1.3-java... problem solved! Thanks! - Sam Ruby