On Wed, 30 Jun 2010, Bill Janssen wrote:
I'm trying to build Lucene 2.9.2 on Fedora with gcc 4.3 and Python 2.5.1 and OpenJDK 6, but hit this issue with JArray: [...] building 'lucene._lucene' extension creating build/temp.linux-i686-2.5 creating build/temp.linux-i686-2.5/build creating build/temp.linux-i686-2.5/build/_lucene gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fPIC -DPYTHON=1 -D_jcc_shared=1 -I/usr/lib/jvm/java-6-openjdk/include -I/usr/lib/jvm/java-6-openjdk/include/linux -Ibuild/_lucene -I/usr/lib/python2.5/site-packages/JCC-2.4.1-py2.5-linux-i686.egg/jcc/sources -I/usr/include/python2.5 -c build/_lucene/JArray.cpp -o build/temp.linux-i686-2.5/build/_lucene/JArray.o -fno-strict-aliasing -Wno-write-strings In file included from build/_lucene/JArray.cpp:21: /usr/lib/python2.5/site-packages/JCC-2.4.1-py2.5-linux-i686.egg/jcc/sources/JArray.h:483: error: redefinition of ?class JArray<signed char>? /usr/lib/python2.5/site-packages/JCC-2.4.1-py2.5-linux-i686.egg/jcc/sources/JArray.h:337: error: previous definition of ?class JArray<signed char>? build/_lucene/JArray.cpp:961: error: redefinition of ?PyObject* JArray<signed char>::wrap()? build/_lucene/JArray.cpp:945: error: ?PyObject* JArray<signed char>::wrap()? previously defined here error: command 'gcc' failed with exit status 1 make: *** [compile] Error 1 % Should I fall back to 2.9.1, or try building from SVN?
This error indicates that the C++ compiler thinks that jboolean and jbyte are the same types. Could it be that you're picking up gcj header files instead of the correct JDK ones as this tends to happen on redhat ? What is the first jni.h file in your header include path (including the implicit locations like /usr/include, etc...) ?
Andi..