Хоть ветка и старая, но я все-таки выскажусь, так как у меня была похожая проблема c совсем недавней версией астера.
Проблема очень проста: астериск не находит вашу shared library libasteriskssl.so.1.
Как вы понимаете, астериск ищет ее не сам, а вызывает для поиска динамический загрузчик ld.so. как действует загрузчик можете почитать вызвав "man ld.so", но если вкратце, то он пользуется динамическим кэш-файлом /etc/ld.so.cache, а этот файл создается соответственно программой ldconfig, которой наверняка все пользуются довольно часто. В этом кэше прописано где лежат все динамические библиотеки. И очевидно, что раз библиотека libasteriskssl.so.1 не ищется, то значит динамический загрузчик не может найти её ни в ld.so.cache, ни в стандартных путях /lib и /usr/lib.
Что делать? Тут некоторые особо одаренные товарищи говорят, что мол не суйти свои кривые ручки туда, куда не умеете и устанавливайте все пакетами, но это конечно бред и происходит от бескультурия и нарциссизма. Например у меня на сервер астериск устанавливается только из исходников, пакеты не работают. Да, можно конечно вообще все библиотеки устанавливать только в одну стандартную директорию /usr/lib и тогда все будет находиться, но это бред. Система должна работать и с другими привычными директориями установки.
Проблема решается следующим образом. Сначала посмотрите, где у вас находится этот libasteriskssl.so.1
$ find /usr -name libasteriskssl.so.1
у меня он установлен в директории /usr/local/lib64 для 64-четырех битной машины это весьма стандартная директория для установки библиотек, поэтому если библиотеки в этой директории не ищутся, то нужно исправить эту ситуацию один раз и навсегда.
Из чего следует решение первое, самое правильное.
(1) (рекомендую) Если вы админ на машине, то добавьте в файл /etc/ld.so.conf строку
/usr/local/lib64
(точнее поставьте свое название директории, где у вас нашлась библиотека libasteriskssl.so.1)
далее вызываем (как админ)
# ldconfig
он заново перепишет кэш-файл, про который я писал выше, включив туда уже вашу директорию. после этого все должно заработать.
(2) решение второе, временное (не рекомендуется)
запускать астер строкой
$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64 asterisk -&
в этом случае вы говорите динамическому загрузчику, что у вас есть еще одна директория, где искать библиотеки
(3) решение третье, постоянное (не рекомендуется)
поместить в свой ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
это модификация решения (2), которая будет работать только если вы запускаете астериск "ручками", то есть вызывая asterisk из своей bash shell. если вы не зашли в bash shell, то соответственно путь к библиотеке не добавится.
еще раз подчеркну, что правильным постоянным способом является только способ (1)
сто раз, просто не надо тупо расставлять все галочки когда собираете астериск - выключите сборку тех пакетов которые выключены по умолчанию
awsswa ( 2013-09-03 18:44:25 +0400 )редактироватькстати, а нафига вы компилировали не последнюю версию asterisk 11?
meral ( 2013-09-03 19:19:26 +0400 )редактироватьуже и последнюю скомпилировал таже беда, галочки оставляю все как есть кроме CDR.
romariosar ( 2013-09-03 21:07:12 +0400 )редактироватьну ибо нефиг браться за то, в чем не разбираетесь. есть проблемы с компиляцией - используйте пакеты.
meral ( 2013-09-03 22:37:57 +0400 )редактироватьmeral, просто нужно было разобраться, а вы как всегда.
romariosar ( 2013-09-04 09:03:22 +0400 )редактироватьрешили вы как всегда через ж*.правильное решение было поменять astmoddir и/или пути в ld.so.conf
meral ( 2013-09-04 09:33:00 +0400 )редактировать