PHP --with-mnogosearch

  • Автор темы vichire8
  • Дата начала

vichire8

Guest
PHP --with-mnogosearch

Есть специалисты в установке сабжа?
Проблема такова:

I can't make php4.3.4 with enabled mnogosearch
./configure --with-mnogosearch --with-mysql=/usr
complite ok

make - failure

...
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0xc00): first defined here
collect2: ld returned 1 exit status
make: *** [libphp4.la] Error 1
 

tony2001

TeaM PHPClub
vichire8
убери --with-mnogosearch и попробуй еще раз.
у тебя ошибка при сборке с --with-mysql.
делай copy/paste с консоли, слова "complite" там нет, а нам хочется видеть достоверные сообщения об ошибках.
 

vichire8

Guest
--with-mysql - пашет правильно и все собирается!
Ребята из многосерча написали, что нужно устанавливать все это в ключами --with-mysql=/usr (это написано в etx/mnogosearch/README)

И вот такая сборка - не получается
 

tony2001

TeaM PHPClub
vichire8
надо устанавливать с теми ключами, которые тебе нужны.
в README указан пример.
у тебя либы и хидеры от MySQL лежат в /usr/lib & usr/include ?
ой ли?
 

vichire8

Guest
(да там много папок муськи)

Вчастности libmysqlclient.a в папке /usr/lib/mysql/

но как в этом случае мне описать конфигурационную строку?

кстати еще мне посоветовали исспользовать не статическую библиотеку mysql а динамическую, как это можно сделать?
 

tony2001

TeaM PHPClub
не указывай значение ключа --with-mysql вообще и все должно собраться нормально.
 

vichire8

Guest
Убрал значение
./configure --with-mysql --with-mnogosearch
ok

make
failure

error:

php4.3.4/ext/mnogosearch/php_mnogo.c:2524 ...
make *** ext/mnogosearch/php_mnogo.lo error 1
 

tony2001

TeaM PHPClub
подробней, плз.
по "php4.3.4/ext/mnogosearch/php_mnogo.c:2524 ..." я не могу ничего сказать.

-~{}~ 02.03.04 17:51:

кстати, у тебя сам mnogosearch и хидеры от него установлены? где?
 

vichire8

Guest
После выполнения команды make мы получаем кучу ошибок.
Которые все аналогичные

php4.3.4/ext/mnogosearch/php_mnogo.c:2445 'Agent' undeclared (first use in this function)...
php4.3.4/ext/mnogosearch/php_mnogo.c:2466 syntax error before ')' token
Вот этими словами засыпан весь экран - как мне сказали таких функций нету в /ext/mnogosearch - и нужно исспользовать либы майсикла

А эта строка в конце.
make *** ext/mnogosearch/php_mnogo.lo error 1
 

tony2001

TeaM PHPClub
php4.3.4/ext/mnogosearch/php_mnogo.c:2445 'Agent' undeclared (first use in this function)...
php4.3.4/ext/mnogosearch/php_mnogo.c:2466 syntax error before ')' token
нет хидеров от mnogosearch.

Вот этими словами засыпан весь экран - как мне сказали таких функций нету в /ext/mnogosearch - и нужно исспользовать либы майсикла
сам подумай:
ошибки провоцирует php_mnogo.c. причем тут MySQL?

опять же, ДВЕ строки вместо ОДНОЙ - ты думаешь, что я больше из них пойму?
попробуй указать путь к mnogosearch'у в опции --with-mnogosearch для начала.
 

vichire8

Guest
Вот с чего начинается родина (все эти баги)

-Iext/mnogosearch/ -I/opt/php-4.3.4/ext/mnogosearch/ -DPHP_ATOM_INC -I/opt/php-4.3.4/include -I/opt/php-4.3.4/main -I/opt/php-4.3.4 -I/opt/php-4.3.4/Zend -I/usr/local/mnogosearch/include -I/usr/include/pgsql -I/opt/php-4.3.4/ext/xml/expat -I/opt/php-4.3.4/TSRM -g -O2 -prefer-pic -c /opt/php-4.3.4/ext/mnogosearch/php_mnogo.c -o ext/mnogosearch/php_mnogo.lo
In file included from /usr/local/mnogosearch/include/udm_common.h:718,
from /usr/local/mnogosearch/include/udmsearch.h:21,
from /opt/php-4.3.4/ext/mnogosearch/php_mnogo.h:31,
from /opt/php-4.3.4/ext/mnogosearch/php_mnogo.c:30:
/usr/local/mnogosearch/include/udm_db_int.h:69:19: mysql.h: No such file or directory
In file included from /usr/local/mnogosearch/include/udm_common.h:718,
from /usr/local/mnogosearch/include/udmsearch.h:21,
from /opt/php-4.3.4/ext/mnogosearch/php_mnogo.h:31,
from /opt/php-4.3.4/ext/mnogosearch/php_mnogo.c:30:
/usr/local/mnogosearch/include/udm_db_int.h:261: parse error before "MYSQL"
/usr/local/mnogosearch/include/udm_db_int.h:261: warning: no semicolon at end of struct or union
/usr/local/mnogosearch/include/udm_db_int.h:317: parse error before '}' token
/usr/local/mnogosearch/include/udm_db_int.h:317: warning: data definition has no type or storage class
In file included from /usr/local/mnogosearch/include/udmsearch.h:21,
from /opt/php-4.3.4/ext/mnogosearch/php_mnogo.h:31,
from /opt/php-4.3.4/ext/mnogosearch/php_mnogo.c:30:
/usr/local/mnogosearch/include/udm_common.h:723: parse error before "UDM_DB"
/usr/local/mnogosearch/include/udm_common.h:723: warning: no semicolon at end of struct or union
/usr/local/mnogosearch/include/udm_common.h:724: warning: data definition has no type or storage class
/usr/local/mnogosearch/include/udm_common.h:756: parse error before "UDM_DBLIST"
/usr/local/mnogosearch/include/udm_common.h:756: warning: no semicolon at end of struct or union

-~{}~ 02.03.04 18:48:

Опишу ситуацию поподробней
У меня на одной машине все пашет! На хостере - нет,
Устанавливал многосерч и там и там по-умолчанию,

когда устанавливаю без ключа --with-mysql=
сыпятся эти баги, что там что там
- когда с ключем =/usr - на домашней все нормально -
на машине хостера - те первоначальные баги которые я описал выше

-~{}~ 02.03.04 18:50:

Ok, try remove libmysqlclient.a
then recompile and reinstall all.
Anyway, you should find why your system prefer to make with static libraries rather that with dynamic.

Это ответ поддержки многосерча на мои баги - но дальше они не дошли,
как заставить эту гадость использовать динамические библиотеки майсиквела?
 

tony2001

TeaM PHPClub
во!
/usr/local/mnogosearch/include/udm_db_int.h:69:19: mysql.h: No such file or directory

теперь андерстэнд?
как ты ставил mysql? из rpm? или как?
 

vichire8

Guest
configure --with-mysql=/usr - это правильный путь получается,
но чего-то недостает - помогите в этом разобраться плиз.

-~{}~ 02.03.04 18:54:

не знаю как? это хостер ставил
но как нужно поставить - попробую переустановить или просто может чтото переписать нужно??
 

vichire8

Guest
Маленькая ошибка - это я выдал лог - если у себя просто ставлю опцию --with-mysql без usr

лог реального дампа сервака такого не содержит - там одни ферст дефайны - давай я на почту тебе вышлю - тошлько почтовый ящик дай

но все вот такое
I can't make php4.3.4 with enabled mnogosearch
./configure --with-mnogosearch --with-mysql=/usr
complite ok

make - failure

this is a output make command

Zend/zend.lo Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo Zend/zend_list.lo
Zend/zend_indent.lo Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_ini.lo
Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_execute.lo sapi/apache/sapi_apache.lo
sapi/apache/mod_php4.lo sapi/apache/php_apache.lo main/internal_functions.lo -lcrypt
-lc-client -lssl -lcrypto -lcrypt -lmysqlclient -lcrypt -lpam -lX11 -lXpm -lpng -lz -ljpeg -lz
-lresolv -lm -ldl -lnsl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz -lm -lrt -lmysqlclient
-lmnogosearch -lmnogocharset -lcrypt -lcrypt -o libphp4.la

/usr/lib/mysql/libmysqlclient.a(libmysql.o)(.data+0x4): multiple definition of
`mysql_port'
/usr/lib/mysql/libmysqlclient.a(libmysql.o)(.data+0x4): first defined here
/usr/lib/mysql/libmysqlclient.a(libmysql.o)(.data+0x8): multiple definition of
`mysql_unix_port'

....

: multiple definition of `net_real_write'
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x540): first defined here
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x240): In function `my_net_write':
: multiple definition of `my_net_write'
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x240): first defined here
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x320): In function `net_write_command':
: multiple definition of `net_write_command'
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x320): first defined here
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x990): In function `my_net_read':
: multiple definition of `my_net_read'
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0x990): first defined here
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0xc00): In function `net_request_file':
: multiple definition of `net_request_file'
/usr/lib/mysql/libmysqlclient.a(net.o)(.text+0xc00): first defined here
collect2: ld returned 1 exit status
make: *** [libphp4.la] Error 1
 

vichire8

Guest
Команда locate недоступна
mysql.h находиться в /urs/include/mysql/
a mysqladmin
v /usr/bin

Получается что приставка --with-mysql=/usr
себя оправдывает
 

tony2001

TeaM PHPClub
>Получается что приставка --with-mysql=/usr себя оправдывает
это было бы правдой, если бы mysql.h лежал в /usr/include, а не в /usr/include/mysql

За все эти мучения можешь сказать спасибо своему хостеру.
Пускай продолжает класть хидеры и либы в извратные места.
 

vichire8

Guest
Я думаю это mysql их туда положил.

А если я просто возьму этот хидер или все и перенесу на папку вверх - что нибудь может измениться?
 

tony2001

TeaM PHPClub
>Я думаю это mysql их туда положил.
искусственный интеллект?

>А если я просто возьму этот хидер или все и перенесу на папку вверх - что нибудь может измениться?
сделай так:
mkdir /usr/local/mysql
ln -s /usr/include/mysql /usr/local/mysql/include
найди где лежат либы MySQL (ищи libmysqlclient.so) и сделай:
ln -s /path/to/lib/dir /usr/local/mysql/lib

и укажи в --with-mysql=/usr/local/mysql

о результатах сообщи.
 
Сверху