П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 176909 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 74039 раз(а).

Учебник HTML.
Просмотров 73271 раз(а).

Руководство по PHP5.
Просмотров 44149 раз(а).

Хостинг через призму DNS.
Просмотров 50799 раз(а).

Подборка текстов стандартных документов.
Просмотров 44324 раз(а).

Учебник PHP - Самоучитель
Просмотров 50574 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 50988 раз(а).

Внешние атаки...
Просмотров 41300 раз(а).

Учебник PHP.
Просмотров 36531 раз(а).

SSI в примерах.
Просмотров 27420 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь




Глава 2. Установка MySQL
Пред.    След.

2.7. Замечания по установке Perl
2.7.4. Проблемы использования интерфейса Perl DBI/DBD

Если Perl сообщает, что не может найти модуль ../mysql/mysql.so, то проблема, возможно, заключается в том, что Perl не может найти динамическую библиотеку libmysqlclient.so.

Эту проблему можно устранить, используя любой из следующих методов:

  • Для сборки дистрибутива Msql-Mysql-modules используйте perl Makefile.PL -static -config вместо perl Makefile.PL.

  • Скопируйте libmysqlclient.so в каталог, где находятся другие динамические библиотеки (/usr/lib или /lib).

  • Под Linux можно добавить путь к каталогу, где находится libmysqlclient.so в файл /etc/ld.so.conf.

  • Добавьте каталог, в котором находится libmysqlclient.so, в переменную окружения LD_RUN_PATH.

Если вы получаете от DBD-mysql представленные ниже ошибки, то, скорее всего, у вас используется компилятор gcc (или старый бинарный код, скомпилированный с gcc):

/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'

Добавьте в команду линкования при сборке библиотеки mysql.so, -L/usr/lib/gcc-lib/... -lgcc (нужно проверить вывод из make для mysql.so при компиляции клиента Perl). Опция -L должна указывать путь к каталогу, где находится libgcc.a в вашей системе.

Еще одна причина появления ошибок может заключаться в том, что оба модуля - Perl и MySQL не скомпилированы вместе компилятором gcc. В этом случае данное несоответствие можно устранить, скомпилировав оба модуля компилятором gcc.

Если при выполнении тестов вы получаете от модуля Msql-Mysql-modules следующие ошибки:

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,

то это означает, что в строку линкования необходимо включить библиотеку сжатия -lz. Для этого необходимо внести следующее изменение в файл lib/DBD/mysql/Install.pm:

$sysliblist .= " -lm";

на

$sysliblist .= " -lm -lz";

После этого необходимо выполнить команду make realclean и затем повторить процесс инсталляции сначала.

Если вы хотите использовать эти модули в системе, которая не поддерживает динамического линкования (вроде Caldera/SCO), то можно сгенерировать статическую версию Perl, включающую DBI и DBD-mysql. Она будет работать следующим образом: нужно создать версию Perl, слинкованную с кодом DBI, и установить ее поверх текущего Perl. Затем эта версия используется для сборки версии Perl, которая дополнительно включает слинкованный код DBD, и устанавливается уже она.

В операционной системе Caldera (SCO) необходимо иметь следующий набор переменных окружения:

shell> LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
или
shell> LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell> LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell> MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:\
/usr/skunk/man:

Вначале следует создать модуль Perl, включающий статически слинкованный DBI. Это делается путем выполнения следующих команд в каталоге, где располагается дистрибутив DBI:

shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl

Затем необходимо установить новый модуль Perl. Вывод команды make perl укажет точную команду make, которую необходимо будет выполнить для завершения установки. Для Caldera (SCO) это будет команда make -f Makefile.aperl inst_perl MAP_TARGET=perl.

Затем нужно использовать только что созданный модуль Perl для создания еще одного модуля Perl, который также включает в себя статически слинкованный модуль DBD::mysql. Это делается путем выполнения следующих команд в каталоге, где располагается дистрибутив Msql-Mysql-modules:

shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl

И в завершение осталось установить этот новый модуль Perl. Какую команду для этого использовать, вы опять узнаете из вывода make perl.


Назад Начало Главы Начало Раздела Вперед

Пред. Глава След. Глава
Глава 1. Общая информация Начало Книги Глава 3. Учебное пособие по MySQL


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru