[sisyphus] php5 and mysqlnd

Michael Bochkaryov misha на rattler.kiev.ua
Пн Фев 7 22:08:04 UTC 2011


07.02.2011 19:10, Anton Farygin wrote:

>>>> По результатам обнаружил, что у нас php5-mysqli собирается
>>>> без поддержки mysqlnd. Вопрос, это сделанно по каким-то
>>>> особым причинам?
>>>
>>> нет, так сложилось исторически.
>>>
>>> Если сможешь собрать и проверить - включу по умолчанию. у меня сейчас
>>> mysql нигде не используется.
>>
>> Ок, попробую собрать.
>>
>> Антон, если что, поможешь с процессом разобраться?
>> А то я не очень себя уверенно насчет php чувствую.
>
> конечно, но там всё очень просто.


Хм, пока что оказалось не так просто (или это я торможу).

Для начала вылезла ошибка при сборке самого php5:
================================================================
/bin/sh /home/misha/RPM/BUILD/php5-source/libtool --silent 
--preserve-dup-deps --mode=link cc -export-dynamic -I/usr/include -pipe 
-Wall -g -O2   -lphp-5.3.3  sapi/info/phpinfo.lo 
main/internal_functions.lo libphp-5.3.3.la -o sapi/info/php-info
/bin/sh /home/misha/RPM/BUILD/php5-source/libtool --silent 
--preserve-dup-deps --mode=link cc -export-dynamic -I/usr/include -pipe 
-Wall -g -O2   -lphp-5.3.3  sapi/cli/php_cli.lo 
sapi/cli/php_cli_readline.lo main/internal_functions_cli.lo 
libphp-5.3.3.la -o sapi/cli/php
/home/misha/RPM/BUILD/php5-source/.libs/libphp-5.3.3.so: undefined 
reference to `__dn_expand'
/home/misha/RPM/BUILD/php5-source/.libs/libphp-5.3.3.so: undefined 
reference to `__res_nsearch'
/home/misha/RPM/BUILD/php5-source/.libs/libphp-5.3.3.so: undefined 
reference to `__dn_skipname'
collect2: ld returned 1 exit status
/home/misha/RPM/BUILD/php5-source/.libs/libphp-5.3.3.so: undefined 
reference to `__dn_expand'
/home/misha/RPM/BUILD/php5-source/.libs/libphp-5.3.3.so: undefined 
reference to `__res_nsearch'
/home/misha/RPM/BUILD/php5-source/.libs/libphp-5.3.3.so: undefined 
reference to `__dn_skipname'
collect2: ld returned 1 exit status
make: *** [sapi/info/php-info] Error 1
make: *** Waiting for unfinished jobs....
make: *** [sapi/cli/php] Error 1
================================================================

Удалось собрать с LDFLAGS=-lresolv в ./configure.
Только я не уверен, что это есть правильно.


А вот с этим mysqlnd чуть противнее - он отдельным расширением
не собирается, а должен подключаться в mysql, mysqli, pdo-mysql.

Но при этом там ожидается стопка автогенерата, который еще при
запуске ./configure в самом php5 должен создаваться. А сейчас
там в явном виде --without-mysql стоит, так что никто ничего
не генерит (например, ext/mysqlnd/php_mysqlnd_config.h)

Такое ощущение, что на сборку некоторых модулей в отрыве от
самого PHP в апстриме просто не расчитывали.


Завтра попробую решить грязным хаком с подсовыванием
этого автогенерата снаружи. Если заработает, буду думать
над более корректным решением.


-- 
Regards,
Michael Bochkaryov
www.rattler.kiev.ua


Подробная информация о списке рассылки Sisyphus