Compilando a Biblioteca PHP Gearman para o CentOS 5.8

2

Estou tentando reunir o Gearman no CentOS 5.8 a tarde toda.

Pesquisas disseram para instalar o seguinte via yum :

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

Para obter os cabeçalhos do Boost funcionando corretamente, fiz o seguinte:

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

Com todas as dependências instaladas e a configuração dos caminhos, baixo e compilo 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

Isso funciona corretamente. Então agora eu preciso instalar a biblioteca Gearman para PHP. Eu tentei através do PECL e baixar a fonte diretamente, ambos resultam no mesmo erro:

checking whether to enable gearman support... yes, shared
not found
configure: error: Please install libgearman

O que não entendo é que instalei o pacote libgearman-devel , que também instalou o núcleo libgearman . A instalação instala libgearman-devel-0.14-3.el5.x86_64 , libgearman-devel-0.14-3.el5.i386 , libgearman-0.14-3.el5.x86_64 e libgearman-0.14-3.el5.i386 .

É possível que a versão do pacote seja menor do que a necessária? Eu ainda estou fuçando com isso, mas imaginei que eu jogaria isso para ver se alguém tem uma solução enquanto eu continuo pesquisando uma correção.

Obrigado!

    
por Andrew Ellis 22.10.2012 / 22:35

2 respostas

3

Isso deve funcionar:

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

Isso deve funcionar, caso contrário você terá que fazer algumas pequenas edições no config.m4.

    
por 25.10.2012 / 18:56
2

Algumas outras notas úteis sobre isso podem ser encontradas aqui: link

E com base no link acima e pesquisando aleatoriamente sobre isso funcionou para mim sem bagunçar as pastas 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 atualizou recentemente para o gearmand / libgearman 1.1.8, que é muito recente comparado com a versão anterior (0.14?). Portanto, não deve haver necessidade de compilá-lo por conta própria (exceto a extensão php pecl, é claro).

    
por 24.04.2013 / 12:31