On Tue, 4 Mar 2008, Peter Smith wrote:
PyLucene 2.3.1-1 fails during make with this error:
CFLAGS="" /usr/bin/python /usr/lib/python2.4/site-packages/jcc/__init__.py
--jar lucene-java-2.3.1/build/lucene-core-2.3.1.jar --jar
lucene-java-2.3.1/build/contrib/snowball/lucene-snowball-2.3.1.jar --jar
lucene-java-2.3.1/build/contrib/highlighter/lucene-highlighter-2.3.1.jar
--jar lucene-java-2.3.1/build/contrib/analyzers/lucene-analyzers-2.3.1.jar
--jar lucene-java-2.3.1/build/contrib/regex/lucene-regex-2.3.1.jar --jar
lucene-java-2.3.1/build/contrib/queries/lucene-queries-2.3.1.jar --jar
build/jar/extensions.jar --package java.lang java.lang.System
java.lang.Runtime --package java.util java.text.SimpleDateFormat --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 --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
org.apache.lucene.search.Hits 'length:()I'
'doc:(I)Lorg/apache/lucene/document/Document;' --version 2.3.1 --files 1
--build
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/jcc/__init__.py", line 27, in ?
from jcc import cpp
File "/usr/lib/python2.4/site-packages/jcc/__init__.py", line 30, in ?
from _jcc import initVM
ImportError: /usr/lib/python2.4/site-packages/jcc/_jcc.so: undefined symbol:
_Z18PyErr_SetJavaErrorP12__jthrowable
That symbol, PyErr_SetJavaError, is part of JCC. The fact that jthrowable is
in the mangling is suspicious. It could be that the Java you built with is
not the Java you linked with or not the Java you're running with. In
particular, be sure not to include (or get included inspite of your efforts)
any of the gcj header files.
Andi..
make: *** [compile] Error 1
There was an almost identical thread here a few weeks ago. In that case, the
OP had build jcc without -ljava. Here is my setup.py:
INCLUDES = {
'darwin':
['/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers'],
'linux2': ['/usr/lib/jvm/java-6-sun-1.6.0.04/include',
'/usr/lib/jvm/java-6-sun-1.6.0.04/include/linux'],
'sunos5': ['/usr/jdk/instances/jdk1.6.0/include',
'/usr/jdk/instances/jdk1.6.0/include/solaris'],
'win32': ['o:/Java/jdk1.6.0_02/include',
'o:/Java/jdk1.6.0_02/include/win32'],
}
CFLAGS = {
'darwin': ['-fno-strict-aliasing'],
'linux2': ['-fno-strict-aliasing'],
'sunos5': ['-features=iddollar',
'-erroff=badargtypel2w,wbadinitl,wvarhidemem'],
'win32': [],
}
LFLAGS = {
'darwin': ['-framework', 'JavaVM'],
'linux2': ['-L/usr/lib/jvm/java-6-sun/jre/lib/amd64', '-ljava',
'-Wl,-rpath=/usr/lib/jvm/java-6-sun/jre/lib/amd64:/usr/lib/jvm/java-6-sun/jre/lib/amd64/server'],
'sunos5': ['-L/usr/jdk/instances/jdk1.6.0/jre/lib/i386', '-ljava',
'-R/usr/jdk/instances/jdk1.6.0/jre/lib/i386:/usr/jdk/instances/jre/lib/i386/client'],
'win32': ['/LIBPATH:o:/Java/jdk1.6.0_02/lib', 'jvm.lib']
}
The machine is a 64 bit AMD Opteron, running Debian 4.0.
Is there a problem with my setup.py? jcc does compile cleanly.
Thanks,
Peter Smith
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev