Spec-Zone .ru
спецификации, руководства, описания, API

2.13.3. Проблемы Используя Perl DBI/DBDИнтерфейс

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

Отметьте, что Вы, возможно, также должны изменить -L опции, если есть другие библиотеки, которые компоновщик не в состоянии найти. Например, если компоновщик не может найти libc потому что это находится в /lib и команда ссылки определяет -L/usr/lib, изменитесь -L опция к -L/lib или добавьте -L/lib к существующей команде ссылки.

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

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

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

Другая причина этой проблемы может состоять в том, что Perl и MySQL оба не компилируются с gcc. В этом случае можно решить несоответствие, компилируя обоих с gcc.