web-dev-qa-db-ja.com

GearmanのコンパイルPHP CentOS5.8用ライブラリ

私は午後中ずっとGearmanをCentOS5.8でコンパイルしようとしてきました。

検索では、yumを介して以下をインストールすると言われています。

yum -y install --enablerepo=remi boost141-devel libgearman-devel e2fsprogs-devel e2fsprogs gcc44 gcc-c++

Boostヘッダーを正しく機能させるために、私はこれを行いました。

 cp -f/usr/lib/boost141/* /usr/lib/
cp -f/usr/lib64/boost141/* /usr/lib64/
rm -f /usr/include/boost
ln -s/usr/include/boost141/boost /usr/include/boost

すべての依存関係がインストールされ、パスが設定されたら、gearmand-1.1.2をダウンロードしてコンパイルします。

 wget -O /tmp/gearmand-1.1.2.tar.gz https://launchpad.net/gearmand/1.2/1.1.2/+download/gearmand-1.1.2.tar.gz 
 cd/tmp && tar zxvf gearmand-1.1.2.tar.gz 
 ./ configure && make -j8 && make install 

それは正しく機能します。そこで、PHP用のGearmanライブラリをインストールする必要があります。 PECLを使用してソースを直接ダウンロードしようとしましたが、どちらも同じエラーになります。

ギアマンサポートを有効にするかどうかを確認しています...はい、共有
見つかりません
構成:エラー:libgearman 
をインストールしてください

私が理解していないのは、コアlibgearmanもインストールしたlibgearman-develパッケージをインストールしたことです。インストールにより、libgearman-devel-0.14-3.el5.x86_64libgearman-devel-0.14-3.el5.i386libgearman-0.14-3.el5.x86_64、およびlibgearman-0.14-3.el5.i386がインストールされます。

パッケージのバージョンが必要なバージョンよりも低い可能性はありますか?私はまだこれをいじっていますが、私が修正を研究し続けている間、誰かが解決策を持っているかどうかを確認するためにこれを投げると思いました。

ありがとう!

2
Andrew Ellis

これでうまくいくはずです:

export GEARMAN_LIB_DIR=/usr/include/libgearman
export GEARMAN_INC_DIR=/usr/include/libgearman

それはうまくいくはずです、そうでなければ、config.m4にいくつかのマイナーな編集をする必要があります。

3
user1158667

これに関する他のいくつかの役立つメモはここにあります: http://gearman.info/build/centos5-8.html

そして、上記のリンクとこれに関するランダムなグーグルに基づいて、lib/includeフォルダーを台無しにすることなく私のために働いています:

yum install boost141 boost141-devel gcc44 gcc44-c++ uuid-devel
export CC="gcc44"
export CFLAGS="-std=gnu99"
export CXX="gcc44-c++"
export CPPFLAGS="-I/usr/include/boost141"
export LDFLAGS="-L/usr/lib64/boost141"
CC=gcc44 CXX=g++44 ./configure
make
make install

UPDATE:Epelは最近gearmand/libgearman 1.1.8に更新されました。これは、以前のバージョン(0.14?)と比較して非常に新しいものです。したがって、自分でコンパイルする必要はありません(もちろん、php pecl拡張機能を除く)。

2