Приветствую!Потребовалось установить на веб-сервере (Apache2 + PHP5) библиотечку Mcrypt.
1) Сперва я скачал и установил mhash-0.9.9.9
./configure
make
make check
make installMake check - All 5 tests passed, прошло на ура, как я понимаю, либа нормально скомпилилась.
2) Следую далее - ставлю libmcrypt-2.5.8
./configure --disable-posix-threads
make
make check
make installВот тут начинаются проблемы. make check не проходит как нужно, пишет 2 of 2 tests failed.
Пробовал эту либу собирать с помощью GCC и СС - результат одинаковый. В конце топика привожу результат теста.3) Далее я должен был ставить саму mcrypt-2.6.8
make check - тут внятно не пишет прошел тест или нет.4) Далее пересобираю PHP с опциями
--with-mcrypt --with-mhash
При make test - на шаге где проверяется mcrypt - выходят ошибки, да и при установке (make install) либа mcrypt.so отсутствует чтоб ее в php.ini прописать.Кто-нить может подсказать в чем тут загвоздка?
Думаю, что все из ошибок на шаге 2.
Системная информация:
# uname -a
SunOS Vega 5.10 Generic_Patch_118844-30 i86pc i386 i86pc# gcc --version
gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.# make --version
GNU Make 3.80
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
libmcrypt-2.5.8 check
# make check
Making check in libltdl
make[1]: Entering directory `/export/source/libmcrypt-2.5.8/libltdl'
make[1]: Leaving directory `/export/source/libmcrypt-2.5.8/libltdl'
Making check in modules
make[1]: Entering directory `/export/source/libmcrypt-2.5.8/modules'
Making check in algorithms
make[2]: Entering directory `/export/source/libmcrypt-2.5.8/modules/algorithms'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/export/source/libmcrypt-2.5.8/modules/algorithms'
Making check in modes
make[2]: Entering directory `/export/source/libmcrypt-2.5.8/modules/modes'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/export/source/libmcrypt-2.5.8/modules/modes'
make[2]: Entering directory `/export/source/libmcrypt-2.5.8/modules'
make[2]: Nothing to be done for `check-am'.
make[2]: Leaving directory `/export/source/libmcrypt-2.5.8/modules'
make[1]: Leaving directory `/export/source/libmcrypt-2.5.8/modules'
Making check in include
make[1]: Entering directory `/export/source/libmcrypt-2.5.8/include'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/export/source/libmcrypt-2.5.8/include'
Making check in lib
make[1]: Entering directory `/export/source/libmcrypt-2.5.8/lib'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/export/source/libmcrypt-2.5.8/lib'
Making check in src
make[1]: Entering directory `/export/source/libmcrypt-2.5.8/src'
make check-TESTS
make[2]: Entering directory `/export/source/libmcrypt-2.5.8/src'
Error getting algorithms/modes
FAIL: ciphertest
Failed to initialize cipher - rijndael-128/cfb
FAIL: aestest
===================
2 of 2 tests failed
===================
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory `/export/source/libmcrypt-2.5.8/src'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/export/source/libmcrypt-2.5.8/src'
make: *** [check-recursive] Error 1
Не запускай make check.При сборке php ты указываешь путь к libmcrypt? Покажи ключи для сборки php
>Не запускай make check.
>
>При сборке php ты указываешь путь к libmcrypt? Покажи ключи для сборки
>php1) Ну "make check" всего лишь тесты гоняет, о показывает работает либа или нет.
2) При компиляции пхп я указываю --with-mhash=/usr/local/lib --with-mcrypt=/usr/local/lib
Может какую библиотеку еще нужно поставить перед компиляцией libmcrypt?
>Может какую библиотеку еще нужно поставить перед компиляцией libmcrypt?Та вроде нет. Ради интереса попробовал собрать у себя - CentOS-5.3
# tar jxvf libmcrypt-2.5.8.tar.bz2
# cd libmcrypt-2.5.8
# ./configure --prefix=/usr/local/libmcrypt
# make
# make install# tar jxvf php-5.3.0.tar.bz2
# cd php-5.3.0
# ./configure --prefix=/usr/local/php5 --with-mcrypt=shared,/usr/local/libmcrypt/ --with-apxs2=/usr/sbin/apxsОбращаем внимание на следующие строки
checking for Apache 2.0 handler-module support via DSO through APXS... yes
...
checking for mcrypt support... yes, shared
checking for libmcrypt version... >= 2.5.6
checking for mcrypt_module_open in -lmcrypt... yes
...
# make
# make installВ результате в /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626 должен быть файл mcrypt.so
У меня не собиралось пока не поставил libtool-ltdl-devel
Спасибо, ALex_hha, за совет.
Как освобожусь - попробую переустановить GNU Libtool и заного все пересобрать, может получится на этот раз :)
Перекомпилил libtool, заного пересобрал libmcrypt
./configure --enable-dynamic-loading --disable-posix-threads --prefix=/usr/local/libmcrypt \
--with-included-algos=cast-128,gost,rijndael-128,twofish,arcfour,cast-256,loki97,rijndael-192,saferplus,wake, \
blowfish-compat,des,rijndael-256,serpent,xtea,blowfish,enigma,rc2,tripledesmake check все равно не прошел, фиг с ним - установил make install
Далее собираю php 5.3, когда делаю make test, прогоны с mcrypt пишет что Failed
Ставлю, make install - mcrypt.so билдится, прописываю его в php.ini
Рестартую апач, phpinfo() говорит мол типа модуль есть, но там строки "алгоритмы и модели" - none... Скриншот - http://forum.hyperione.ru/download/phpinfo.jpg
Кому интересно, выложил результат "make test" http://forum.hyperione.ru/download/phptest_results.txtПосле библиотеки libmcrypt, еще пытался ставить mcrypt - все равно не пашет.
>Далее собираю php 5.3, когда делаю make test, прогоны с mcrypt пишет
>что Failed
>Ставлю, make install - mcrypt.so билдится, прописываю его в php.ini
>Рестартую апач, phpinfo() говорит мол типа модуль есть, но там строки "алгоритмы
>и модели" - none... Скриншот - http://forum.hyperione.ru/download/phpinfo.jpg
>Кому интересно, выложил результат "make test" http://forum.hyperione.ru/download/phptest_results.txtубери --with-included-algos
>После библиотеки libmcrypt, еще пытался ставить mcrypt - все равно не пашет.
она не нужна
Пробовал вчера поставить libmcrypt из пакета,
пересобрал php, рестартанул апач, а phpinfo() опять говорит, что "алгоритмы и модели" - none. А если пробовать вызывать какие-либо mcrypt-функции в логах сервера ошибки, вообщем Mcrypt по прежнему не заработал :(