Имеется сервер Slackware 9.0 со стандартной связкой apache+perl+php+mysql.
Perl v.5.8.0, apache 1.3.33, mysql 3.23.57. Нужно срочно перейти на mysql5. Обновил glibc до 2.3.2, поставил mysql5 собраный на интеловском компайлере. Поставил линк mysql-> чтоб показывал на новую версию. Пока все хорошо. Запустил скрипты - получил перловую ошибку, мол, не могу подключиться к mysql. Поставил DBI-1.5.0. Пробую поставить DBD::mysql. Компиляция проходит, но на тестах валиться. Все равно сделал make install после чего скрипты снова не работали а в апачевском логе прочел:
/usr/bin/perl: relocation error: /usr/lib/perl5/site_perl/5.8.0/i386-linux/auto/DBD/mysql/mysql.so undefined symbol: mysql_initА при тестах DBD::mysql ругался на undefined symbol: mysql_stmt_free_result. И еще: Perhaps a required shared libraryor dll isn't installed where expected.
Сервер рабочий и сильно удаленный. Экспериментировать на нем я не могу. Только самое нужное.
ставить через CPAN пробовал?
>ставить через CPAN пробовал?Пробовал, те же ошибки. Сейчас обновляю разные модули - может где-то версии не подходят. Есть еще одна штука, когда компилявился DBI на другом сервере(тестовом), он создал директорию make. А в этот раз не создал, но и ошибки не дал. Буду копать дальше
скорее всего каталог с либами mysql не прописан в /etc/ld.so.conf, посмотри чего выдаст:
ldd /usr/lib/perl5/site_perl/5.8.0/i386-linux/auto/DBD/mysql/mysql.so
Если есть строчки "not found", значит дело в этом.