Andi Vajda <va...@apache.org> 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

> This error indicates that the C++ compiler thinks that jboolean and
> jbyte are the same types.

Actually, the problem is the same old one that we've discussed before.
There is no "/usr/lib/jvm/java-6-openjdk" directory.  When I built JCC,
I had the environment variable JCC_JDK set to point to
/usr/lib/jvm/java-1.6.0-openjdk, which is where openjdk decided to
install itself.  But, at least in 2.9.2, JCC doesn't remember that and
re-use that knowledge.  Instead, in the above, it generates a completely
bogus and non-existent path to pull the include file headers from.  And
gcc, confused, falls back to the gcj headers.

Bill

Reply via email to