документація mysql

Якщо 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):

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

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

Якщо при виконанні тестів ви отримуєте від модуля Msql-Mysql-modules наступні помилки:

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

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

Якщо ви хочете використовувати ці модулі в системі, яка не підтримує динамічного лінкування (на кшталт Caldera / SCO), то можна згенерувати статичну версію Perl, що включає DBI і DBD-mysql. Вона буде працювати наступним чином: потрібно створити версію Perl, слінкованную з кодом DBI. і встановити її поверх поточного Perl. Потім ця версія використовується для складання версії Perl, яка додатково включає слінкованний код DBD, і встановлюється вже вона.

В операційній системі Caldera (SCO) необхідно мати наступний набір змінних оточення:

Спочатку слід створити модуль Perl, що включає статично слінкованний DBI. Це робиться шляхом виконання наступних команд в каталозі, де розташовується дистрибутив DBI.

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

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

І на завершення залишилося встановити цей новий модуль Perl. Яку команду для цього використовувати, ви знову дізнаєтеся з виведення make perl.

Схожі статті