[pylucene-dev] Re: using JCC
Bill Janssen
janssen at parc.com
Wed Feb 20 19:01:46 PST 2008
> > Sure enough, that's the difference. Adding "--package java.lang" to
> > the "python -m jcc" line, as PyLucene does, somehow changes the gcc
> > command line, and things compile.
>
> No, it just causes header files to be found that are missing otherwise or
> incorrect. The bug in JCC could be that these files are required and not
> optional. I wonder if the gcj ones were not present if this bug would be
> replaced by a missing header error. It'd be interesting to know which header
> if causing this. JCC is already generating some wrappers for essential JRE
> classes like Object and Class. Maybe more are required.
>
> I'm still not convinced it's a JCC bug, though :)
Let me try to convince you. When I omit "--package java.lang", JCC
still generates header files for some small set of java.lang.*. One
of these is java.lang.RuntimeException. This file contains
#include "java/lang/Exception.h"
The only "java/lang/Exception.h" on my whole machine is this:
% locate java/lang/Exception.h
/usr/include/c++/4.1.2/java/lang/Exception.h
/usr/local/gcc-3.4.5/include/java/lang/Exception.h
%
Now, "/usr/include/c++/4.1.2/java/lang/Exception.h" includes
"java/lang/Throwable.h", which in turn includes "gcj/array.h".
I'm not sure where JCC expects java/lang/Exception.h to come from if
you don't generate it. It certainly isn't part of the Sun JDK.
Bill
More information about the pylucene-dev
mailing list