I'm trying to install PyLucene 3.4 on my OS X Leopard system.  JCC
compiles and installs just fine, the Java bits of Lucene compile OK (a
few warnings), but the last part of the build fails thusly:

[...]
/usr/bin/python -m jcc --shared --jar 
lucene-java-3.4.0/lucene/build/lucene-core-3.4.0.jar --jar 
lucene-java-3.4.0/lucene/build/contrib/analyzers/common/lucene-analyzers-3.4.0.jar
 --jar lucene-java-3.4.0/lucene/build/contrib/memory/lucene-memory-3.4.0.jar 
--jar 
lucene-java-3.4.0/lucene/build/contrib/highlighter/lucene-highlighter-3.4.0.jar 
--jar build/jar/extensions.jar --jar 
lucene-java-3.4.0/lucene/build/contrib/queries/lucene-queries-3.4.0.jar --jar 
lucene-java-3.4.0/lucene/build/contrib/grouping/lucene-grouping-3.4.0.jar --jar 
lucene-java-3.4.0/lucene/build/contrib/join/lucene-join-3.4.0.jar  --package 
java.lang java.lang.System java.lang.Runtime --package java.util 
java.util.Arrays java.util.HashMap java.util.HashSet java.text.SimpleDateFormat 
java.text.DecimalFormat java.text.Collator --package java.util.regex --package 
java.io java.io.StringReader java.io.InputStreamReader java.io.FileInputStream 
--exclude org.apache.lucene.queryParser.Token --exclude org.apache.lucene
 .queryParser.TokenMgrError --exclude 
org.apache.lucene.queryParser.QueryParserTokenManager --exclude 
org.apache.lucene.queryParser.ParseException --exclude 
org.apache.lucene.search.regex.JakartaRegexpCapabilities --exclude 
org.apache.regexp.RegexpTunnel --exclude 
org.apache.lucene.analysis.cn.smart.AnalyzerProfile --python lucene --mapping 
org.apache.lucene.document.Document 
'get:(Ljava/lang/String;)Ljava/lang/String;' --mapping java.util.Properties 
'getProperty:(Ljava/lang/String;)Ljava/lang/String;' --sequence 
java.util.AbstractList 'size:()I' 'get:(I)Ljava/lang/Object;' --rename 
org.apache.lucene.search.highlight.SpanScorer=HighlighterSpanScorer --version 
3.4.0 --module python/collections.py --module python/ICUNormalizer2Filter.py 
--module python/ICUFoldingFilter.py --module python/ICUTransformFilter.py  
--files 3 --build 
While loading org/apache/pylucene/search/PythonIntParser
Traceback (most recent call last):
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/runpy.py",
 line 95, in run_module
    filename, loader, alter_sys)
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/runpy.py",
 line 52, in _run_module_code
    mod_name, mod_fname, mod_loader)
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/runpy.py",
 line 32, in _run_code
    exec code in run_globals
  File 
"/Library/Python/2.5/site-packages/JCC-2.11-py2.5-macosx-10.5-i386.egg/jcc/__init__.py",
 line 32, in <module>
    import jcc.__main__
  File 
"/Library/Python/2.5/site-packages/JCC-2.11-py2.5-macosx-10.5-i386.egg/jcc/__main__.py",
 line 98, in <module>
    cpp.jcc(sys.argv)
  File 
"/Library/Python/2.5/site-packages/JCC-2.11-py2.5-macosx-10.5-i386.egg/jcc/cpp.py",
 line 554, in jcc
    cls = findClass(className.replace('.', '/'))
  File 
"/Library/Python/2.5/site-packages/JCC-2.11-py2.5-macosx-10.5-i386.egg/jcc/cpp.py",
 line 73, in findClass
    cls = _findClass(className)
jcc.cpp.JavaError: java.lang.UnsupportedClassVersionError: Bad version number 
in .class file
Java stacktrace:
java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)

make: *** [compile] Error 255
/tmp/pylucene-3.4.0-1 688 % find . -name PythonIntParser.class
./build/classes/org/apache/pylucene/search/PythonIntParser.class
/tmp/pylucene-3.4.0-1 689 % file 
./build/classes/org/apache/pylucene/search/PythonIntParser.class
./build/classes/org/apache/pylucene/search/PythonIntParser.class: compiled Java 
class data, version 50.0
/tmp/pylucene-3.4.0-1 690 % 


My Makefile settings are:

# Mac OS X 10.5 (32-bit Python 2.5, Java 1.6)
PREFIX_PYTHON=/usr
ANT=ant
PYTHON=$(PREFIX_PYTHON)/bin/python
JCC=$(PYTHON) -m jcc --shared
NUM_FILES=3


I finally figured out that I've got Java 6 before Java 5 in my "Java
Preferences", but that doesn't work because Python is 32-bit and Java 6
is 64-bit.  So, on Leopard, be careful to set the Java prefs so that
Java 5 is first before installing PyLucene.

Bill


Reply via email to