ovoshlook Опубликовано 9 января, 2012 Жалоба Поделиться Опубликовано 9 января, 2012 Здравствуйте уважаемые формумчане. Возможно я пишу немного не в ту ветку, но тем не менее: Есть Ubuntu server. Так же на нем стоит LAMP-server (ставился сразу с установкой ОС). (MySql+web+php) не сервере стоит asterisk. На астериск устаовлена CRM система. (asterCC) при запуске одного из perl скриптов появляется ошибка: sudo /opt/asterisk/scripts/astercc/astercc install_driver(mysql) failed: Can't load 'auto/DBD/mysql/mysql.so' for module DBD::mysql: auto/DBD/mysql/mysql.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога at /</opt/asterisk/scripts/astercc/astercc>DynaLoader.pm line 214. at perlapp line 642 Perhaps a required shared library or dll isn't installed where expected at astercc.pl line 1640 По ошибке видно, что mysql не может запустить свой модуль mysql.so. 2 дня гугления ответов толком не дали кроме одного: не хватает модуля libmysqlclient.so. чтобы проверить подключается ли libmysqlclient.so запустил ldd для mysql.so: linux-gate.so.1 => (0xb787d000) libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0xb7667000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74eb000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb74cf000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb74a5000) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7490000) /lib/ld-linux.so.2 (0xb787e000) Как видно нужная либа есть. я уже всю голову сломал себе что не так и что не может подключить к себе этот скрипт. Прошу помощи. Заранее спасибо P.S. совсем забыл написать: права доступа 777 применены ко всем нужным папкам. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 9 января, 2012 Жалоба Поделиться Опубликовано 9 января, 2012 Вас чем-то не устроил астериск из репозитория и Вы усановили другой в /opt. Кроме того, Вы помимо установленного мускула установили еще один в /opt (наверное, вместе с астериском). Если вам необходимы оба, то нужно разнести их по портам, если один, то указать обращаться к уже запущенному мускулу (обычно, через TCP порт). Установливая ПО самостоятельно, нужно самому отслеживать зависимости, устанавливая нужные библиотеки. Указанная Вами библиотека присутствует в системе, но аналогичная библиотека отсутствует для установленного Вами самостоятельно ПО. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ovoshlook Опубликовано 9 января, 2012 Автор Жалоба Поделиться Опубликовано 9 января, 2012 Астер установлен в /usr/sbin/asterisk/ (собственно стандартная установка). В системе он один. в директорию /opt перенесены только скрипты для asterСС (тоже стандартная процедура для astercc, описанная в мануале по установке на сайте astercc.org) http://wiki.astercrm.org/doku.php?id=astercrm_manual_install Мускуль так же только один, установленный при установке Ubuntu. В том то и дело что я вижу что библиотека в системе есть. Права я настроил для нее... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 9 января, 2012 Жалоба Поделиться Опубликовано 9 января, 2012 Тогда понятно... Проверьте установлены ли перловые пакеты для связи с мускулом? Пакет, c перловой mysql.so, обычно называется libdbd-mysql-perl. Сама либа у меня в Дебиане помещена в /usr/lib/perl5/auto/DBD/mysql/mysql.so Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ovoshlook Опубликовано 9 января, 2012 Автор Жалоба Поделиться Опубликовано 9 января, 2012 Пакеты установлены. на всякий случай попробывал еще раз это сделать через apt-get. Он выдал что такой пакет суже стоит. mysql.so лежит по тому адресу что вы указали. собственно оттуда я ldd и снимал... Еще идеи что может мешать запуску? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 9 января, 2012 Жалоба Поделиться Опубликовано 9 января, 2012 На вскидку... 1. Скриптами требуется та же версия перла, что и установлена? 2. Может в каталоге со скриптами лежит другой перл, который и запускается? (и не находит библиотеки) 3. Устаноленый в системе Перл сам по себе работает с мускулом? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ovoshlook Опубликовано 9 января, 2012 Автор Жалоба Поделиться Опубликовано 9 января, 2012 Другой сткрипт на перле запускается нормально... вот том то и дело. Еще одного перла установленного нет точно. Я с сделал strace -f /opt/asterisk/scripts/astercc/astercc Он мне показал что помимо всего прочего не может найти файл или libmysqlclient.so.15 . Не находит потому что его и нет. есть толкьо 16. Сделал ссылку по именем libmysqlclient.so.15 на libmysqlclient.so.16: система стала ее находить. Видимо asterсс 0,21 не настолько новая на сколько новая ubuntu server 11.10 и LAMP server в ее дистре. еще насторожило вот это: stat64("/opt/asterisk/scripts/astercc/lib/auto/DBD/mysql", 0x912fc00) = -1 ENOENT (No such file or directory) stat64("/opt/asterisk/scripts/astercc/auto/DBD/mysql", 0x912fc00) = -1 ENOENT (No such file or directory) stat64("auto/DBD/mysql/mysql.bs", 0x912fc00) = -1 ENOENT (No such file or directory) open("auto/DBD/mysql/mysql.so", O_RDONLY) = -1 ENOENT (No such file or directory) То есть он ищет mysql.so совсем не там где она должна быть получается (лежит то она как вы и я знаем в /usr/lib/perl5/auto/DBD/mysql/) сейчас при вызове strace там файлов которые не находит astercc еще очень много... Видимо придется провести целый вечер за созданием ссылок для нужных файлов. Если есть подстказки как упростить задачу линкования системы буду брагодарен вам. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 9 января, 2012 Жалоба Поделиться Опубликовано 9 января, 2012 Просмотрите скрипты. Может, там есть явные указания интерпретатору, где искать библиотеки. Вообще, он обычно ищет в нескольких местах, в т.ч. и в текущем каталоге. Запускается, как я понял, /usr/bin/perl? PS. Или попробуйте в astercc сделать ссылку lib -> /usr/lib/perl5 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ovoshlook Опубликовано 10 января, 2012 Автор Жалоба Поделиться Опубликовано 10 января, 2012 Да. Запуск из стандартной директоррии. Он собственно и ищет в нескольких местах, только вот по основному пути он ее не ищен никак) Сегодня вечером попробую поколдовать-отпишусь что получилось) ЗА советы спасибо большое! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ovoshlook Опубликовано 11 января, 2012 Автор Жалоба Поделиться Опубликовано 11 января, 2012 В общем после добавления ссылок на нужные директории проблема перешла вот в эту фазу: install_driver(mysql) failed: DBD::mysql object version 4.019 does not match bootstrap parameter 4.018 at /</opt/asterisk/scripts/astercc/astercc>DynaLoader.pm line 234. Где то в общем версии не сопоставляются. В mysql.pm я нашел указание на версию 4.019 изменил значение на 4.018, но к сожалению это не помогло. вопрос. Где еще могут указываться версии? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.