Страница 1 из 1

Не собирается PHP

Добавлено: 2009-08-17 13:37:56
100matolog
пытаюсь собрать php-5.2.10
говорю ему ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

в ответ оно мне ругаецца

Код: Выделить всё

checking for MySQL UNIX socket location... /tmp/mysql.sock
checking for mysql_close in -lmysqlclient... no
checking for mysql_errno in -lmysqlclient... no
configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information.
смотрю лог

Код: Выделить всё

configure:60198: checking for mysql_close in -lmysqlclient
configure:60217: gcc -o conftest -I/usr/local/include -g -O2  -R/usr/local/lib -L/usr/local/lib -liconv -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib conftest.c -lmysqlclient  -liconv -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm 1>&5
/usr/bin/ld: cannot find -lmysqlclient
configure: failed program was:
#line 60206 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char mysql_close();

int main() {
mysql_close()
; return 0; }
configure:60614: checking for mysql_errno in -lmysqlclient
configure:60633: gcc -o conftest -I/usr/local/include -g -O2  -R/usr/local/lib -L/usr/local/lib -liconv -L/usr/local/lib  -R/usr/local/lib -L/usr/local/lib conftest.c -lmysqlclient  -lz -liconv -lm  -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm 1>&5
/usr/bin/ld: cannot find -lmysqlclient
configure: failed program was:
#line 60622 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char mysql_errno();

int main() {
mysql_errno()
; return 0; }
вопрос - что ему не нравицо?

Re: Не собирается PHP

Добавлено: 2009-08-17 13:44:41
maximum
вероятно, вот это ему не нравится...

Код: Выделить всё

/usr/bin/ld: cannot find -lmysqlclient
mysqlclient у вас установлен?

Re: Не собирается PHP

Добавлено: 2009-08-17 13:46:39
Alex Keda
не нравитьяс ему то, что из сорцов собираете.

Re: Не собирается PHP

Добавлено: 2009-08-17 14:04:43
100matolog
lissyara писал(а):не нравитьяс ему то, что из сорцов собираете.
нуууу, дядя ..вот возникла ниобходимость

Re: Не собирается PHP

Добавлено: 2009-08-17 14:05:23
100matolog
maximum писал(а):вероятно, вот это ему не нравится...

Код: Выделить всё

/usr/bin/ld: cannot find -lmysqlclient
mysqlclient у вас установлен?
да - установил из портов mysql50-client

Re: Не собирается PHP

Добавлено: 2009-08-17 14:22:14
camelium
дай вывод

Код: Выделить всё

ldconfig -r | grep "mysql"

Re: Не собирается PHP

Добавлено: 2009-08-17 14:32:41
100matolog
camelium писал(а):дай вывод

Код: Выделить всё

ldconfig -r | grep "mysql"
[14:32]root@tester:/usr/local/apache2/conf#ldconfig -r | grep "mysql"
search directories: /lib:/usr/lib:/usr/lib/compat:/usr/X11R6/lib:/usr/local/lib:/usr/local/lib/mysql:/usr/local/lib/compat/pkg
155:-lmysqlclient.14 => /usr/local/lib/libmysqlclient.so.14
157:-lmysqlpp.2 => /usr/local/lib/libmysqlpp.so.2
231:-lmysqlclient_r.15 => /usr/local/lib/mysql/libmysqlclient_r.so.15
232:-lmysqlclient.15 => /usr/local/lib/mysql/libmysqlclient.so.15
233:-lndbclient.0 => /usr/local/lib/mysql/libndbclient.so.0

Re: Не собирается PHP

Добавлено: 2009-08-17 14:47:00
camelium

Код: Выделить всё

232:-lmysqlclient.15 => /usr/local/lib/mysql/libmysqlclient.so.15
и

Код: Выделить всё

155:-lmysqlclient.14 => /usr/local/lib/libmysqlclient.so.14
что-то много lib клиентов mysql
проверь есть ли файлы по всем путям с ldconfig

Код: Выделить всё

/etc/rc.d/ldconfig restart
и снова

Код: Выделить всё

ldconfig -r | grep "mysql"
есть отличия?

Re: Не собирается PHP

Добавлено: 2009-08-17 14:51:44
100matolog
camelium писал(а):

Код: Выделить всё

232:-lmysqlclient.15 => /usr/local/lib/mysql/libmysqlclient.so.15
и

Код: Выделить всё

155:-lmysqlclient.14 => /usr/local/lib/libmysqlclient.so.14
что-то много lib клиентов mysql
проверь есть ли файлы по всем путям с ldconfig

Код: Выделить всё

/etc/rc.d/ldconfig restart
и снова

Код: Выделить всё

ldconfig -r | grep "mysql"
есть отличия?

Код: Выделить всё

[14:32]root@tester:/usr/local/apache2/conf#/etc/rc.d/ldconfig restart
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg /usr/local/lib/mysql
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout
[14:51]root@tester:/usr/local/apache2/conf#ldconfig -r | grep "mysql"
	search directories: /lib:/usr/lib:/usr/lib/compat:/usr/X11R6/lib:/usr/local/lib:/usr/local/lib/compat/pkg:/usr/local/lib/mysql
	155:-lmysqlclient.14 => /usr/local/lib/libmysqlclient.so.14
	157:-lmysqlpp.2 => /usr/local/lib/libmysqlpp.so.2
	231:-lmysqlclient_r.15 => /usr/local/lib/mysql/libmysqlclient_r.so.15
	232:-lmysqlclient.15 => /usr/local/lib/mysql/libmysqlclient.so.15
	233:-lndbclient.0 => /usr/local/lib/mysql/libndbclient.so.0
плюс - нет -lmysqlclient.15 => /usr/local/lib/mysql/libmysqlclient.so.15 libmysqlclient_r.so.15 libndbclient.so.0

Re: Не собирается PHP

Добавлено: 2009-08-17 15:23:33
camelium
с исходников (в обход портов) mysql ставил?

Re: Не собирается PHP

Добавлено: 2009-08-17 15:23:56
zingel
ставили в детстве

Re: Не собирается PHP

Добавлено: 2009-08-17 15:31:45
manefesto
ставить из исходников во фре в обход портов могут только труЪ линуксоиды.
Не прикол, я уже сталкивался с таким чудом.

Re: Не собирается PHP

Добавлено: 2009-08-17 15:32:39
100matolog
camelium писал(а):с исходников (в обход портов) mysql ставил?
надо было в шапке написать ...
стервер уже достался таким - тоесть мускуль явно был всетуплен руками и вызывался через mysqld_safe &
когда же появилась необходимость пересобрать пхп - натолкнулся на ругательство про -lmysqlclient
Недолго размышляя - полез в порты и оттуда /mysql50-client/make install clean

Re: Не собирается PHP

Добавлено: 2009-08-17 15:54:56
100matolog
так что, ребята, есть мысли?

Re: Не собирается PHP

Добавлено: 2009-08-17 16:05:34
camelium
мой вариант
удалить mysql50
установить с исходников mysql41 а потом снести его

Код: Выделить всё

cd /usr/ports/database/mysql41-server
make extract
cd work/mysql-4.1...
./configure
make install
make deinstall
ldconfig не должен показать присутсвие mysql
а потом уже ставить нормально с портов mysql
Замечание: все зависимости от mysql(исходник) будут нарушены, придется заново пересобирать некоторые порты

Re: Не собирается PHP

Добавлено: 2009-08-17 16:11:12
100matolog
camelium писал(а):мой вариант
удалить mysql50
установить с исходников mysql41 а потом снести его

Код: Выделить всё

cd /usr/ports/database/mysql41-server
make extract
cd work/mysql-4.1...
./configure
make install
make deinstall
ldconfig не должен показать присутсвие mysql
а потом уже ставить нормально с портов mysql
Замечание: все зависимости от mysql(исходник) будут нарушены, придется заново пересобирать некоторые порты
ок ..попробую...это все равно тестовое железко - так что можно эксперементировать

Re: Не собирается PHP

Добавлено: 2009-08-17 17:26:46
100matolog
не помогло

Код: Выделить всё

ldconfig -r | grep "mysql"
	search directories: /lib:/usr/lib:/usr/lib/compat:/usr/X11R6/lib:/usr/local/lib:/usr/local/lib/compat/pkg:/usr/local/lib/mysql
	155:-lmysqlclient.14 => /usr/local/lib/libmysqlclient.so.14
	157:-lmysqlpp.2 => /usr/local/lib/libmysqlpp.so.2
	231:-lmysqlclient_r.15 => /usr/local/lib/mysql/libmysqlclient_r.so.15
	232:-lmysqlclient.15 => /usr/local/lib/mysql/libmysqlclient.so.15
	233:-lndbclient.0 => /usr/local/lib/mysql/libndbclient.so.0

Re: Не собирается PHP

Добавлено: 2009-08-17 22:21:28
Alex Keda
локал сноси весь...
потом порты все переставляй, чё-то да получиться.
====
если железка тестовая - проще перествить ОС - неизвестно чего там где уже успели понаставить.
привести систему в юзабельный вид без полного сноса - задача нетривиальная.
если охота поупражняться и время есть - ставьте portupgrade/portmaster, и вперёд.

Re: Не собирается PHP

Добавлено: 2009-08-18 7:38:06
100matolog
lissyara писал(а):локал сноси весь...
потом порты все переставляй, чё-то да получиться.
====
если железка тестовая - проще перествить ОС - неизвестно чего там где уже успели понаставить.
привести систему в юзабельный вид без полного сноса - задача нетривиальная.
если охота поупражняться и время есть - ставьте portupgrade/portmaster, и вперёд.
portupgrade уже поставил ...ээх...где ж этот lmysqlclient аццкий достать..все клиенты мускульные вместе с серверами сносил...
Собственно почему затеял эти танцы.
Мне нужно собрать пхп для поддержки --mbstrings --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-exif --with-openssl
Наши програмеры накрутили такой вот сцайтик.

Re: Не собирается PHP

Добавлено: 2009-08-18 7:41:40
Alex Keda
всё перечисленное в портах есть.
и руками колупать ну совсем нет нужды

Re: Не собирается PHP

Добавлено: 2009-08-18 12:40:46
100matolog
ладно...семь бед один резет...формат це