Проблемы при установке Asterisk
Ошибки компиляции asterisk
no acceptable C compiler
Текст ошибки:
configure: error: in `/usr/src/asterisk-11.14.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
Описание ошибки:
Отсутствует компилятор gcc
Решение:
Необходимо установить пакет GCC. Для этого в CentOS выполните команду:
yum -y install gcc
error: C++ preprocessor "/lib/cpp" fails sanity check
Текст ошибки:
configure: error: in `/usr/src/asterisk-11.14.0':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Описание ошибки:
Отсутствует компилятор gcc-c++
Решение:
Необходимо установить пакет GCC-C++. Для этого в CentOS выполните команду:
yum -y install gcc-c++
configure: error: *** termcap support not found
Текст ошибки:
configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)
Описание ошибки:
Отсутствует библиотека ncurses, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение:
В случае CentOS нужен пакет ncurses-devel:
yum -y install ncurses-devel
configure: *** XML documentation will not be available because the 'libxml2' development package is missing
Текст ошибки:
configure: *** XML documentation will not be available because the 'libxml2' development package is missing.
configure: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option
configure: *** or install the 'libxml2' development package.
Описание ошибки:
Отсутствует библиотека libxml2, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение:
В случае CentOS нужен пакет libxml2-devel, для его установки выполните команду:
yum -y install libxml2-devel
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
Текст ошибки:
configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
configure: WARNING: *** Please install the SQLite3 development package.
Описание ошибки:
Отсутствует библиотека sqlite, точнее не сама библиотека (она может быть), а ее компоненты для разработчиков (development), для сборки программ.
Решение:
В случае CentOS нужен пакет sqlite-devel:
yum -y install sqlite-devel
Doxygen is not installed
Текст ошибки:
Doxygen is not installed. Please install and re-run the configuration script.
Описание ошибки:
При установке make progdocs выдается эта ошибка. Это означает, что не удается установить документацию к asterisk, поскольку отсутствует пакет doxygen.
Решение:
Установите пакет doxygen. В CentOS выполните команду:
yum -y install doxygen
Ошибки при компиляции asterisk 12 / asterisk 13
configure: error: *** uuid support not found
Текст ошибки:
configure: error: *** uuid support not found (this typically means the uuid development package is missing)
Описание ошибки:
Отсутствует библиотека (а не пакет!) uuid, причем нужна development редакция: libuuid-devel
Решение:
В CentOS нужно поставить libuuid-devel:
yum -y install libuuid-devel
В Debian нужно поставить uuid-dev:
apt-get install uuid-dev
configure: error: *** JSON support not found
Текст ошибки:
configure: error: *** JSON support not found (this typically means the libjansson development package is missing)
Описание ошибки:
В этом случае Вам необходим пакет jansson, причем нужна development редакция: jansson-devel
Решение:
Нужно поставить jansson-devel, но в стандартных репозиториях его нет, поэтому необходимо сначала подключить дополнительный репозиторий EPEL.
После этого в CentOS нужно поставить пакет jansson-devel, выполнив команду:
yum -y install jansson-devel
В Debian нужно поставить пакет libjansson-dev, выполнив команду:
apt-get install libjansson-dev
Ошибки при запуске asterisk
Permission denied
Описание ошибки:
Asterisk не стартует (сервис запускается, но тут же останавливается, "service asterisk status" показывает "stopped". При этом в логах asterisk (/var/log/asterisk/messages) выводятся сообщения типа:
WARNING[1604] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/vm-then-pound.wav: Permission denied
WARNING[1803] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/vm-newpassword.wav: Permission denied
WARNING[1873] media_index.c: Failed to stat /var/lib/asterisk/sounds/en/to-report-system-network-down.wav: Permission denied
Несмотря на то, что (по умолчанию) asterisk запускается под пользователем root, имеющим полные права, отсутствует доступ к различным файлам. При этом asterisk может запускаться из командной строки (не как служба):
asterisk -vvvc
При попытке подключения к asterisk выдается ошибка:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Решение:
Необходимо отключить SELinux. Для этого откройте в любом редакторе файл: /etc/selinux/config и впишите/измените в нем такую строку:
SELINUX=disabled
После чего перезагрузите компьютер с asterisk.
ILLEGAL INSTRUCTION
Описание ошибки:
asterisk не стартует ни в качестве службы, ни из консоли.
Текст ошибки:
При запуске в консоли asterisk выдает сообщение Illegal instruction.
Текст ошибки:
Illegal instruction
Решение:
В данном случае собранный asterisk не поддерживает команды процессора на Вашем компьютере. Необходимо пересобрать asterisk, при этом необходимо отключить флаг BUILD_NATIVE в настройках make menuselect астериска. Для этого выполните:
- make menuselect
- выберите раздел "Compiler flags"
- и отключите флаг "BUILD_NATIVE"
После make menuselect не забудьте выполнить make, make install и так далее.
|