Компиляция библиотеки Gearman PHP для CentOS 5.8
Я пытался собрать Gearman на CentOS 5.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
Это работает правильно. Теперь мне нужно установить библиотеку Gearman для PHP. Я попытался через PECL и загрузить исходный код напрямую, оба приводят к одной и той же ошибке:
проверка включения поддержки gearman... да, поделился не найдено настроить: ошибка: пожалуйста, установите libgearman
То, что я не понимаю, я установил libgearman-devel
пакет, в котором также установлено ядро libgearman
, Установка устанавливает libgearman-devel-0.14-3.el5.x86_64
, libgearman-devel-0.14-3.el5.i386
, libgearman-0.14-3.el5.x86_64
, а также libgearman-0.14-3.el5.i386
,
Возможно ли, что версия пакета ниже, чем требуется? Я все еще осматриваюсь с этим, но решил, что подкину это, чтобы посмотреть, есть ли у кого-нибудь решение, пока я продолжаю исследовать исправление.
Спасибо!
2 ответа
Это должно сделать трюк:
export GEARMAN_LIB_DIR=/usr/include/libgearman
export GEARMAN_INC_DIR=/usr/include/libgearman
Это должно сработать, если нет, вам придется внести незначительные изменения в config.m4.
Некоторые другие полезные замечания по этому поводу можно найти здесь: http://gearman.info/build/centos5-8.html
И, основываясь на приведенной выше ссылке и случайном поиске в Google, это сработало для меня без использования папок 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
ОБНОВЛЕНИЕ: Epel недавно обновился до gearmand / libgearman 1.1.8, который является очень недавним по сравнению с версией, которую они имели прежде (0.14?). Так что не должно быть необходимости компилировать его самостоятельно (кроме, конечно, расширения php pecl).