Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Здравствуйте уважаемые формумчане. Возможно я пишу немного не в ту ветку, но тем не менее:

Есть 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 применены ко всем нужным папкам.

Опубликовано

Вас чем-то не устроил астериск из репозитория и Вы усановили другой в /opt. Кроме того, Вы помимо установленного мускула установили еще один в /opt (наверное, вместе с астериском). Если вам необходимы оба, то нужно разнести их по портам, если один, то указать обращаться к уже запущенному мускулу (обычно, через TCP порт). Установливая ПО самостоятельно, нужно самому отслеживать зависимости, устанавливая нужные библиотеки. Указанная Вами библиотека присутствует в системе, но аналогичная библиотека отсутствует для установленного Вами самостоятельно ПО.

Опубликовано

Астер установлен в /usr/sbin/asterisk/ (собственно стандартная установка). В системе он один.

в директорию /opt перенесены только скрипты для asterСС (тоже стандартная процедура для astercc, описанная в мануале по установке на сайте astercc.org)

http://wiki.astercrm.org/doku.php?id=astercrm_manual_install

Мускуль так же только один, установленный при установке Ubuntu. В том то и дело что я вижу что библиотека в системе есть. Права я настроил для нее...

Опубликовано

Тогда понятно...

Проверьте установлены ли перловые пакеты для связи с мускулом? Пакет, c перловой mysql.so, обычно называется libdbd-mysql-perl.

Сама либа у меня в Дебиане помещена в

/usr/lib/perl5/auto/DBD/mysql/mysql.so

Опубликовано

Пакеты установлены. на всякий случай попробывал еще раз это сделать через apt-get. Он выдал что такой пакет суже стоит. mysql.so лежит по тому адресу что вы указали. собственно оттуда я ldd и снимал...

Еще идеи что может мешать запуску?

Опубликовано

На вскидку...

1. Скриптами требуется та же версия перла, что и установлена?

2. Может в каталоге со скриптами лежит другой перл, который и запускается? (и не находит библиотеки)

3. Устаноленый в системе Перл сам по себе работает с мускулом?

Опубликовано

Другой сткрипт на перле запускается нормально... вот том то и дело. Еще одного перла установленного нет точно.

Я с сделал 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 еще очень много... Видимо придется провести целый вечер за созданием ссылок для нужных файлов.

Если есть подстказки как упростить задачу линкования системы буду брагодарен вам.

Опубликовано

Просмотрите скрипты. Может, там есть явные указания интерпретатору, где искать библиотеки. Вообще, он обычно ищет в нескольких местах, в т.ч. и в текущем каталоге. Запускается, как я понял, /usr/bin/perl?

PS.

Или попробуйте в astercc сделать ссылку

lib -> /usr/lib/perl5

Опубликовано

Да. Запуск из стандартной директоррии. Он собственно и ищет в нескольких местах, только вот по основному пути он ее не ищен никак) Сегодня вечером попробую поколдовать-отпишусь что получилось) ЗА советы спасибо большое!

Опубликовано

В общем после добавления ссылок на нужные директории проблема перешла вот в эту фазу:

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, но к сожалению это не помогло.

вопрос. Где еще могут указываться версии?

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...