On Wed, 20 Feb 2008, Bill Janssen wrote:

The error is pretty clear about what's going on. You're picking up a
gcj header file.

Sure.  But why?  More specifically, why can I compile PyLucene with
this installation of JCC on this machine, but not my jar file?  Same
invocation of "python -m jcc", so far as I can see.  But one picks up
the gcj header files, and the other doesn't.  Why?

I don't know.
Did you check that you didn't have a stray jni.h lying around ?

Andi..




Bill

OK, I discovered the secret --classpath switch to JCC, and was able to
generate the stubs.  However, when I tried to add --build, I run into
the darn Linux gcj problem:

% python -m jcc --classpath /tmp/Support.jar --jar /tmp/=20
GoodStuff.jar --files 1 --python GoodStuff --build
running build_ext
building 'GoodStuff._GoodStuff' extension
creating build/temp.linux-i686-2.5
creating build/temp.linux-i686-2.5/usr
creating build/temp.linux-i686-2.5/usr/lib
creating build/temp.linux-i686-2.5/usr/lib/python2.5
creating build/temp.linux-i686-2.5/usr/lib/python2.5/site-packages
creating build/temp.linux-i686-2.5/usr/lib/python2.5/site-packages/=20
JCC-1.7-py2.5-linux-i686.egg
creating build/temp.linux-i686-2.5/usr/lib/python2.5/site-packages/=20
JCC-1.7-py2.5-linux-i686.egg/jcc
creating build/temp.linux-i686-2.5/usr/lib/python2.5/site-packages/=20
JCC-1.7-py2.5-linux-i686.egg/jcc/sources
creating build/temp.linux-i686-2.5/build
creating build/temp.linux-i686-2.5/build/_GoodStuff
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-=20
D_FORTIFY_SOURCE=3D2 -fexceptions -fstack-protector =
--param=3Dssp-buffer-=20
size=3D4 -m32 -march=3Di386 -mtune=3Dgeneric =
-fasynchronous-unwind-tables -=20
D_GNU_SOURCE -fPIC -fPIC -DPYTHON=3D1 -I/usr/java/jdk-1.6/include -I/=20=

usr/java/jdk-1.6/include/linux -Ibuild/_GoodStuff -I/usr/lib/=20
python2.5/site-packages/JCC-1.7-py2.5-linux-i686.egg/jcc/sources -I/=20=

usr/include/python2.5 -c /usr/lib/python2.5/site-packages/JCC-1.7-=20
py2.5-linux-i686.egg/jcc/sources/jcc.cpp -o build/temp.linux-=20
i686-2.5/usr/lib/python2.5/site-packages/JCC-1.7-py2.5-linux-=20
i686.egg/jcc/sources/jcc.o -fno-strict-aliasing
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/=20
gcj/array.h:19: error: Java class [EMAIL PROTECTED]
rray=1B%G=C2=81=C3=A2=C2=80=C2=99=1B%=20
@ cannot have an implicit non-trivial destructor
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/=20
gcj/array.h:59: error: conflicting declaration =1B%G=C2=81=C3=A2=C2=80=C2=
[EMAIL PROTECTED] =20
class __JArray* jarray=1B%G=C2=81=C3=A2=C2=80=C2=99=1B%@
/usr/java/jdk-1.6/include/jni.h:68: error: =1B%G=C2=81=C3=A2=C2=80=C2=98=
[EMAIL PROTECTED]
G=C2=81=C3=A2=C2=80=C2=99=1B%@ has a previous declaration as =
[EMAIL PROTECTED] =20
class _jarray* jarray=1B%G=C2=81=C3=A2=C2=80=C2=99=1B%@
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/=20
gcj/array.h:60: error: conflicting declaration =1B%G=C2=81=C3=A2=C2=80=C2=
[EMAIL PROTECTED] =20
class JArray<_jobject*>* jobjectArray=1B%G=C2=81=C3=A2=C2=80=C2=99=1B%@
...

Seems like a bug somewhere in JCC.  On the other hand, I was able to
build and install PyLucene with this JCC.  Any idea what's going on?

The error is pretty clear about what's going on. You're picking up a =20
gcj header file. For instance, how many jni.h files are there on your =20=

system ?
In particular, is there one being picked up before the JDK's because =20
it's in /usr/include or somesuch ?

Andi..



Bill




_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev

Reply via email to