Показаны сообщения с ярлыком компиляция модулей астериск. Показать все сообщения
Показаны сообщения с ярлыком компиляция модулей астериск. Показать все сообщения

воскресенье, 21 августа 2011 г.

Скомпилировать дополнительный модуль для Asterisk'а

При компилировании дополнительных модулей для Астериска, если он компилировался не на этой машине (например установка FreePBX с диска, где все бинарники уже скомпилированы и нет заголовочных файлов), обычно заканчивается сообщением в логах во время звгрузки модуля "was not compiled with the same compile-time options as this version of Asterisk".
Поиск по Нету ничего путного не дал кроме рекомендации перекомпилировать Asterisk. Однако копание в исходниках дало такой параметр: AST_BUILDOPT_SUM. Именно он генерируется на этапе компиляции Астериска и прописывается в каждом модуле для проверки скомпилирован ли он вместе с основным Астериском.
Для того, что бы найти его значение, открываем любым редактором (лучше шестнадцатеричным) какой-нибудь из модулей, например chan_sip.so и ищем в нем слово AST_BUILDOPT_SUM. Следом за ним в кавычках идет 19 шестнадцатеричных символов. Берем их и правим файл include/asterisk/buildopts.h меняя значение AST_BUILDOPT_SUM на полученные 19 символов.
Необходимо отдавать себе отчет, что такая защита сделана не зря, и обращать внимание на строку "will not be initialized as it may cause instability" (может привести к нестабильности).