parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

MySQL

tedim 08.02.2004 18:00

FreeBSD 5.2 Production:
Apache 1.3.29 (из port'ов)
MySQL 3.23.58 (port'ов)

Установил parser3.cgi вер.1.1. для FeeBSD 4.8R:
- расположил в /www/mysite/htdocs/parser3;
- настроил .htaccess;
- там же auto.p (где подкорректировал путь к libmysqlclient.so и $request/$response charset'ы);
- как подкаталоги расположил в этом каталоге charsets и libж
- в lib положил соответствующий libparser3mysql.so;
- DocumentRoot в VirtualHost указывает на /www/mysite;
- сделал '#chown -R nogroup /www/mysite/htdocs';
- Apache User nobody uid=64534.

Все Уроки 1-3 работают. Урок 4 с доступом к MYSQL - НИКАК: 500 Internal Server error. В моем error_log Apach'а записи о причине:

/www/usms.liraonline/htdocs/parser3/parser3.cgi
/usr/libexec/ld-elf.so.1: /usr/local/lib/mysql/libmysqlclient.so: Undefined symbol "stpcpy"
[Sun Feb 8 15:54:57 2004] [error] [client 195.64.255.173] Premature end of script headers: /www/usms.liraonline/htdocs/parser3/parser3.cgi

Делаю
#nm /usr/local/lib/mysql/libmysqlclient.so | grep stpcpy
U stpcpy
'U'- значит 'Undefined'
Нашел, где он определен: в /usr/obj/usr/src/i386/lib/libc.so.5 (/usr/obj - остатки перепостроения ядра, он не совпадает с /lib/libc.so.5), а также /lib/libc.a. Аккуратная(!) подмена libc.so.5 (на нее ссылка libc.so) с определенным stpcpy положительного результата не дала. Из perl cgi скрипта сама база открывается, читается и изменяется.

Перекомпилировал вручную из исходников на своей иашине libparser3mysql.so и скопировал его поверх первоначального в каталоге lib сайта: ловится исключение-ошибка настроек в parser3'е с пояснением из parser3.log'а (/www линк на /usr/home/www):

[Sun Feb 8 16:36:24 2004] /admin/: /www/mysite/htdocs/admin/index.html(28:4): '/usr/home/www/mysite/htdocs/parser3/lib/libparser3mysql.so' can't open the module [<no type>]

#ls /usr/home/www/mysite/htdocs/parser3/lib
libparser3mysql.so

Почему не видит (прав то хватает!). Перестроил parser3 (cvs версия, пришлось повозится). Установил его с --prefix=/usr/local. Из /usr/local/bin/parser3 скопировал с переименованием и изменением прав на файл на место parser3.cgi, но без результата: те же ошибки!!!

Apache 2.0.48, MySQL версий 4 результатов не дал.

ЗНАЧИЛ ЛИ ЭТО, ЧТО МНЕ СЛЕДУЕТ СДЕЛАТЬ ВЫВОД: на FREEBSD 5.2 запустить работу с БД MySql из parser3 пока что невозможно стандартным образом и нужно ждать соответствующую версию парсера?

Или, быть может, есть другие варианты, где "копаться"?