Hi,
after my success on CentOS 5, I tried to build PyLucene on Fedora 7.
Unfortunately, this does not work:
...
cd lucene-java-2.2.0-549438/build/contrib/snowball/classes/java; \
find . -name '*.class' -print | \
sed -e 's|^\./||' -e 's|/|.|g' -e 's|\.class$||' | \
xargs -n 1 /usr/bin/gcjh -d . --classpath=.
Exception in thread "main" java.io.IOException: can't find class file
org/apache/lucene/analysis/Analyzer.class in
java.net.URLClassLoader{urls=[file:/home/fs/rpmbuild/BUILD/PyLucene-svn338/lucene-java-2.2.0-549438/build/contrib/snowball/classes/java/./,file:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar],
parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
at gnu.classpath.tools.javah.Main.getClass(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.ClassWrapper.linkSupers(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.ClassWrapper.printFully(libgcj-tools.so.8rh)
at
gnu.classpath.tools.javah.CniIncludePrinter.printClass(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.Main.writeHeaders(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.Main.run(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.GcjhMain.main(libgcj-tools.so.8rh)
Exception in thread "main" java.io.IOException: can't find class file
org/apache/lucene/analysis/TokenFilter.class in
java.net.URLClassLoader{urls=[file:/home/fs/rpmbuild/BUILD/PyLucene-svn338/lucene-java-2.2.0-549438/build/contrib/snowball/classes/java/./,file:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/rt.jar],
parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}
at gnu.classpath.tools.javah.Main.getClass(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.ClassWrapper.linkSupers(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.ClassWrapper.printFully(libgcj-tools.so.8rh)
at
gnu.classpath.tools.javah.CniIncludePrinter.printClass(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.Main.writeHeaders(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.Main.run(libgcj-tools.so.8rh)
at gnu.classpath.tools.javah.GcjhMain.main(libgcj-tools.so.8rh)
make: ***
[lucene-java-2.2.0-549438/build/contrib/snowball/lucene-snowball-2.2.0-549438.jar]
Fehler 123
$ rpm -q gcc-java
gcc-java-4.1.2-12
The problematic part is the make target named "$(SNOWBALL_JAR): $(LUCENE_JAR)".
It seems to me as if this is a classpath problem because the class files are
present.
If I change the Makefile so that an additional, absolute path item is used, the
compilation continues:
$(SNOWBALL_JAR): $(LUCENE_JAR)
cd $(LUCENE)/contrib/snowball; $(ANT) -Dversion=$(LUCENE_VER)
cd $(LUCENE)/build/contrib/snowball/classes/java; \
find . -name '*.class' -print | \
sed -e 's|^\./||' -e 's|/|.|g' -e 's|\.class$$||' | \
xargs -n 1 $(JCCH) -d .
--classpath=/home/fs/rpmbuild/BUILD/PyLucene-svn338/$(LUCENE)/build/classes/java/:.
Several difficulties come to mind:
1. This modification needs to be done in several places.
2. The classpath separator is not consistent between platforms: Windows uses
";" (probably
because of drive letters), Linux ":".
Is there another workaround? Something wrong with my setup:
...
PYTHON_VER=2.5
DB_VER=4.5.20
...
PREFIX=/usr
PREFIX_PYTHON=$(PREFIX)
LIBDIR_NAME=lib64
GCJ_HOME=/usr
GCJ_LIBDIR=$(GCJ_HOME)/$(LIBDIR_NAME)
GCJ_STATIC=0
WCCFLAGS=-Wno-write-strings
ANT=ant
PYTHON=$(PREFIX_PYTHON)/bin/python
fs
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ pylucene-dev mailing list [email protected] http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
