Документация MySQL

17.01.2008

Если Perl сообщает, что не может найти модуль
'../mysql/mysql.so'
, то
проблема, возможно, заключается в том, что Perl не может найти
динамическую библиотеку
'libmysqlclient.so'
.
Эту проблему можно устранить, используя любой из следующих методов:
perl
Makefile.PL -static -config
perl Makefile.PL
.
'libmysqlclient.so'
в каталог, где находятся другие
динамические библиотеки (
).
Под Linux можно добавить путь к каталогу, где находится
'libmysqlclient.so'
'/etc/ld.so.conf'
.
Добавьте каталог, в котором находится
'libmysqlclient.so'
, в
переменную окружения
.
представленные ниже ошибки, то, скорее
всего, у вас используется компилятор
(или старый бинарный код,
скомпилированный с
'mysql.so'
,
-L/usr/lib/gcc-lib/... -lgcc
'mysql.so'
при компиляции клиента Perl). Опция
должна указывать путь
к каталогу, где находится
'libgcc.a'
в вашей системе.
Еще одна причина появления ошибок может заключаться в том, что оба модуля
- Perl и MySQL не скомпилированы вместе компилятором
. В этом случае
данное несоответствие можно устранить, скомпилировав оба модуля
компилятором
.
t/00base............install_driver(mysql) failed:
Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql:
../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol:
uncompress at /usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169,
то это означает, что в строку линкования необходимо включить библиотеку
сжатия
. Для этого необходимо внести следующее изменение в файл
'lib/DBD/mysql/Install.pm'
$sysliblist .= " -lm";

на

$sysliblist .= " -lm -lz";
и затем
повторить процесс инсталляции сначала.
Если вы хотите использовать эти модули в системе, которая не поддерживает
динамического линкования (вроде Caldera/SCO), то можно сгенерировать
статическую версию Perl, включающую
. Она будет работать
следующим образом: нужно создать версию Perl, слинкованную с кодом
, и
установить ее поверх текущего Perl. Затем эта версия используется для
сборки версии Perl, которая дополнительно включает слинкованный код DBD,
устанавливается уже она.
Вначале следует создать модуль Perl, включающий статически слинкованный
. Это делается путем выполнения следующих команд в каталоге, где
располагается дистрибутив
shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl
Затем необходимо установить новый модуль Perl. Вывод команды
, которую необходимо будет выполнить для
завершения установки. Для Caldera (SCO) это будет команда
make -f
Makefile.aperl inst_perl MAP_TARGET=perl
.
Затем нужно использовать только что созданный модуль Perl для создания еще
одного модуля Perl, который также включает в себя статически слинкованный
модуль
. Это делается путем выполнения следующих команд в
каталоге, где располагается дистрибутив
shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl
И в завершение осталось установить этот новый модуль Perl. Какую команду
для этого использовать, вы опять узнаете из вывода
.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Рубрики: Без рубрики |

Оставить комментарий

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.