URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68339
[ Назад ]

Исходное сообщение
"PHP 5.1.5 перестал собираться с --with-mysql"

Отправлено Rivalryzerg , 19-Авг-06 16:58 
Доброго времени суток.
Система FreeBSD 6.1, сервер Apache-2.2.3
Php всегда собирал из портов, передавая нужные параметры через CONFIGURE_ARGS+=--with-mysql и тд.
Сегодня обновил порт php. При компиляции выдал следущее:
...
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /tmp/mysql.sock
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.
...
*** Error code 1

Причем обновлял на двух серверах - на первом все собралось и обновилось.
Читал много топиков c такой ошибкой, но ответа не нашел.

Сталкивался ли ктонибудь с такой проблемой?
В config.log нашел вот что:
configure:75485: checking for mysql_close in -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
...
configure:75755: checking for mysql_error in -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
configure: error: mysql configure failed.

Сервер рабочий - экспериментов проводить не могу..

Подскажите, что может быть причиной?

С уважением,
Баженов Андрей


Содержание

Сообщения в этом обсуждении
"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено voron , 19-Авг-06 17:06 
На 100% не могу сказать, что именно так, но советую удалить предыдущую версию PHP и потом ставить новую.


"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено Rivalryzerg , 19-Авг-06 17:14 
>На 100% не могу сказать, что именно так, но советую удалить предыдущую
>версию PHP и потом ставить новую.

Исключено. Как уже говорил - сервер рабочий. Перерыв работы - максимум на 5-10 минут. А где гарантии что при удалении старой версии, новая все-таки корректно соберется?


"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено Rivalryzerg , 21-Авг-06 11:38 
в config.log вот такая строчка:

configure:75785: cc -o conftest -I/usr/local/include -O2 -fno-strict-aliasing -pipe   -R/usr/local/lib -L/usr/local/lib -licon
v -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib -R/usr -L/usr conftest.c -lmysqlclient  -lz -liconv -lssl -lcrypto -lz -
lssl -lcrypto -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm >&5
/usr/bin/ld: cannot find -lmysqlclient

Почему он пытается искать эту библиотеку в /usr/local/lib, хотя должен в /usr/local/lib/mysql? Скопировал эту библиотеку в /usr/local/lib - php собрался.
Напрямую пытался собирать с --with-mysql=/usr/local/lib/mysql. Выводит:
configure: error: Cannot find libmysqlclient under /usr/local/lib/mysql.
Note that the MySQL client library is not bundled anymore!

1) Почему не находит одну и туже библиотеку, если путь указывать вручную?
2) Если собрать с нестандартным расположением библиотеки mysql - будут ли проблемы в работе?

С уважением,
Баженов Андрей



"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено voron , 21-Авг-06 12:09 
А ты не скопируй, а залинкуй, тогда не будет проблем точно. Вообще, это только библиотека, поэтому не должно быть пролем хоть так, хоть так, хотя я не программер и не уверен точно. Теоретически - проблем не должно быть.

"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено kvk , 21-Авг-06 15:41 
>в config.log вот такая строчка:
>
>configure:75785: cc -o conftest -I/usr/local/include -O2 -fno-strict-aliasing -pipe   -R/usr/local/lib -L/usr/local/lib
>-licon
>v -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib -R/usr -L/usr conftest.c -lmysqlclient  -lz -liconv
>-lssl -lcrypto -lz -
>lssl -lcrypto -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm >&5
>/usr/bin/ld: cannot find -lmysqlclient
>
>Почему он пытается искать эту библиотеку в /usr/local/lib, хотя должен в /usr/local/lib/mysql?
>Скопировал эту библиотеку в /usr/local/lib - php собрался.
>Напрямую пытался собирать с --with-mysql=/usr/local/lib/mysql. Выводит:
>configure: error: Cannot find libmysqlclient under /usr/local/lib/mysql.
>Note that the MySQL client library is not bundled anymore!
>
>1) Почему не находит одну и туже библиотеку, если путь указывать вручную?
>

./configure --help

>2) Если собрать с нестандартным расположением библиотеки mysql - будут ли проблемы
>в работе?
>
>С уважением,
>Баженов Андрей



"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено Rivalryzerg , 22-Авг-06 10:28 
>./configure --help
--with-mysql=DIR      Include MySQL support. DIR is the MySQL base directory

К чему ваш комментарий? Я 5 последних версий собирал с одними и теми же опциями и все было в порядке. Или при вызове замечательной опции --help программа скажет откуда у меня руки растут? Повторюсь - на втором сервере все собралось идеально.


"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено konst , 22-Авг-06 12:23 
>Почему он пытается искать эту библиотеку в /usr/local/lib, хотя должен в /usr/local/lib/mysql?
>Скопировал эту библиотеку в /usr/local/lib - php собрался.
>Напрямую пытался собирать с --with-mysql=/usr/local/lib/mysql. Выводит:
>configure: error: Cannot find libmysqlclient under /usr/local/lib/mysql.
>Note that the MySQL client library is not bundled anymore!
./configure --help
см. что-то типа "--mysql-lib"
+см. где-что у Вас лежит на одном сервере, и где на другом (я о mysql)
дайте там и там:
mysql_config

"PHP 5.1.5 перестал собираться с --with-mysql"
Отправлено Born in the USSR , 13-Авг-12 15:06 
> в config.log вот такая строчка:
> configure:75785: cc -o conftest -I/usr/local/include -O2 -fno-strict-aliasing -pipe
>   -R/usr/local/lib -L/usr/local/lib -licon
> v -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib -R/usr -L/usr conftest.c -lmysqlclient
>  -lz -liconv -lssl -lcrypto -lz -
> lssl -lcrypto -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm
> >&5
> /usr/bin/ld: cannot find -lmysqlclient

Мне помогло добавить --with-libdir=lib64 причем именно так, если указать полный путь /usr/lib64 то судя по логам линкуется неверно