0

使用しているコンピューターへのルート アクセス権がないため、パッケージ マネージャーを使用して必要なプログラムをインストールすることはできません。そのため、ソースからコンパイルしています。私は Apache と PHP を正常にコンパイルし、wiki をホストしています。MediaWiki のセットアップで SphinxSearch を使用したいと思います。

私はデータベースに SQLite を使用しており、SphinxSearch を libexpat でコンパイルする必要があるSQLiteで SphinxSearch を使用するための指示があります。

私はしばらくの間、SphinxSearch を XML サポートでコンパイルできるようにしようと試みてきましたが、うまくいかないようです。私がオンラインで見つけた唯一のヘルプは、 libexpat と libexpat-dev をそのようにインストールするように言っています

apt-get install libexpat libexpat-dev

しかし、私は root ではないので、そのままではインストールできません。そこで、ソースから libexpat をコンパイルしました。

wget http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download
tar xf expat-2.1.0.tar.gz
cd expat-2.1.0/
./configure --prefix=${BASE_PATH}/expat-2.1.0
make
make install

libexpat を完全に正常にコンパイルします。次に、libexpat を次のように追加しましLD_LIBRARY_PATHC_INCLUDE_PATH

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${BASE_PATH}/expat-2.1.0/lib"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:${BASE_PATH}/expat-2.1.0/include"

次に、Sphinx をコンパイルします。

wget http://sphinxsearch.com/files/sphinx-2.2.7-release.tar.gz
tar xf sphinx-2.2.7-release.tar.gz
cd sphinx-2.2.7-release
./configure --prefix=${BASE_PATH}/sphinx-2.2.7 --without-mysql --with-libexpat

ただし、configure からの出力は次のようになります。

...
checking whether to compile with re2 library support... no
checking whether to compile with RLP library support... no
checking for libexpat... checking for library containing XML_Parse... no
not found
configure: WARNING: xmlpipe2 will NOT be available
checking for libiconv... checking for library containing iconv... none required
found
checking for iconv() arg types... char **
...

では、Sphinx に「XML_Parse」を含むライブラリを見つける方法を知っていますか?

更新:したがって、VMでコンパイルすることで解決できました(詳細については、以下の投稿された回答を参照してください)が、それは単純な問題に対するかなり長い解決策です。そのため、誰かがより良い解決策を投稿した場合は、それを最良の回答としてマークします。

4

1 に答える 1

1

仮想マシン (VirtualBox を使用) をセットアップし、それに相当するバージョンの Linux をインストールすることで、これを解決できました (接続しているサーバーは RHEL5 を実行しているため、CentOS 5 をインストールしました)。次に、VM で、次を使用して環境をセットアップします。

yum groupinstall "Development tools"
yum install expat-devel

次に、メインサーバーで実行しようとした通常のコンパイルに従いました。完了したら、生成された Sphinx フォルダーを tar/gzip し、メイン サーバーに転送しました。すべてが完璧に機能しました。

: VM で Sphinx をコンパイルするときは、Sphinx がインストールされる正確なディレクトリ構造を設定していることを確認してください。することが。構成ファイルから必要なすべてのパスを取得しない理由がわかりません。

于 2015-03-05T23:59:23.427 に答える