5

Ubuntu 10.04 に PyLucene 3.0.3 をインストールしようとしています。これはかなり困難であることが証明されていますが、これまでのところ、次のことを行っています。

  • PyLucene ドキュメントで指示されているように、JCC のビルドを許可するように setuptools にパッチを適用しました。
  • JCC のビルド: cd pylucene-3.0.3-1/jcc; python setup.py ビルド
  • ant 経由で Lucene 3.0.3 をビルドし、jar を /usr/share/java/lucene-core-3.0.3-dev.jar にインストールしました。Ubuntu のデフォルトの Lucene パッケージが /usr/share/java/lucene-core-2.9.2.jar にインストールされていることに注意してください。これは /usr/share/java/lucene-core.jar にもシンボリック リンクします

現在、PyLucene を「作成」しようとしていますが、エラーが発生します。

cd lucene-java-3.0.3;  -Dversion=3.0.3
/bin/sh: -Dversion=3.0.3: not found
make: *** [lucene-java-3.0.3/build/lucene-core-3.0.3.jar] Error 127

ファイル pylucene-3.0.3-1/doc/documentation/install.html には、「環境に合わせて Makefile を編集する」と記載されていますが、それが何を意味するのかわかりません。Makefile には、インストールしたものと同じ Lucene バージョン番号が含まれているようです。PyLucene をビルドするには、makefile を他にどのように編集する必要がありますか?

編集: Ubuntu 8.10 (まじで、8.10?!) でコンパイルするための makefile のセクションのコメントを外した後 (Torsten に感謝)、そのほとんどは正常にコンパイルされたように見えましたが、それでもエラーが発生しました。いくつかのコンポーネントは「BUILD SUCCESSFUL」を報告しましたが、最終的なビルドは次のように終了しました:

/usr/bin/python -m jcc --shared --jar lucene-java-3.0.3/build/lucene-core-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/snowball/lucene-snowball-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/analyzers/common/lucene-analyzers-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/regex/lucene-regex-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/memory/lucene-memory-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/highlighter/lucene-highlighter-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/queries/lucene-queries-3.0.3.jar --jar build/jar/extensions.jar  --package java.lang java.lang.System java.lang.Runtime --package java.util java.util.Arrays java.text.SimpleDateFormat java.text.DecimalFormat java.text.Collator --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 --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;' --rename org.apache.lucene.search.highlight.SpanScorer=HighlighterSpanScorer --version 3.0.3 --module python/collections.py --files 200 --build 
/usr/bin/python: jcc is a package and cannot be directly executed
make: *** [compile] Error 1
4

1 に答える 1

2

以前にこれを行いました(ただし、LuceneのデフォルトパッケージをUbuntuにインストールすることはありませんでした)。が正確に何であるかはわかりませんError 127が、私の場合、MakefileNUM_FILES=200の元から設定するのに役立ちました。NUM_FILES=2何らかの理由で、 NUM_FILES=2ubuntuが処理できないメモリ内に非常に巨大なファイルを作成すると。NUM_FILES=200チャンクが小さくなり、最終的にインストールがうまくいきました。Python 2.6 の場合、Makefile の設定も変更する必要がありますJCC(以下を参照)。

Makefileで私にとって重要だった部分は次のとおりです。

# Linux     (Ubuntu 8.10 64-bit, Python 2.5.2, OpenJDK 1.6, setuptools 0.6c9)
PREFIX_PYTHON=/usr
ANT=ant
PYTHON=$(PREFIX_PYTHON)/bin/python
JCC=$(PYTHON) -m jcc.__main__ --shared
NUM_FILES=200
于 2011-04-06T03:19:52.417 に答える