Как добавить приложение в дистрибутив?
нужен совет по компиляции модулей
Откуда: Киев
Сообщений: 1096
|
Как добавить приложение в дистрибутив?
Исходные данные:
есть сборка Астериска на фряхе, все прекрасно, но.. отсутствует часть приложений типа Mixmonitor, AGI.
есть возможность добавить их отдельным модулем (*.so)
Вопрос: как правильно скомпилить этот модуль?
понимаю, что исходники модуля доступны, берешь и компилишь.. но в связи с отсутствием опыта появляются вопросы:
- в какой среде компилить? возможно ли под линуксом, чтобы не подымать еще фряху для этого?
- как правильно скомпилить отдельные модули?
Спасибо!
|
Откуда: Киев
Сообщений: 1096
|
Re: Как добавить приложение в дистрибутив?
уточнение: пересборка всего дистрибутива не требуется.
Нужно лишь отдельно скомпилить app_mixmonitor.c в mixmonitor.so
|
Откуда: SPb
Сообщений: 1307
|
Re: Как добавить приложение в дистрибутив?
man gcc
gcc [-o outfile] infile...
|
Откуда: Киев
Сообщений: 1096
|
Re: Как добавить приложение в дистрибутив?
то что компилируется все с помощью gcc я прекрасно знаю, вопрос был к тем, кто это делал - компилил отдельные модули для астериска..
я конечно могу применить некий реверс инжиниринг, посмотреть как они компилятся в составе астериска, но хотелось бы избежать этого
|
Откуда: Уфа
Сообщений: 5856
|
Re: Как добавить приложение в дистрибутив?
подними аналогичную систему или склонируй ее, откомпилируй и скопируй модули в рабочую.
|
Откуда: St.Petersburg
Сообщений: 17
|
Re: Как добавить приложение в дистрибутив?
Давно не работал с BSD, но раньше модули собраные под Linux не подходили для BSD без специальных плясок. Соответственно, лучше поставить машину для сборки, но на нее необходимо установить идентичные версии компонентов, которые стоят на "рабочей" машине. Далее качаешь дистрибутив, make menuselect, выбираешь модули для сборки, make. Получаешь скомпленный asterisk с необходимыми модулями.
|
Откуда: Киев
Сообщений: 1096
|
Re: Как добавить приложение в дистрибутив?
в том то и проблема, что поднять идентичную систему проблематично. Вес целевой системы всего 15 мб.
вторая проблема, что при компиляции астериска, он не делает отдельно модули для своих приложений-команд (или я плохо искал:), все свои команды он компилит скорей всего в один общий бинарник, поэтому найти нужное не получилось
поэтому и спрашиваю, как напрямую взять исходник нужной функции и скомпилировать из него модуль, который затем просто добавляется в библиотеку астериска и в его автозагрузку..
|
Откуда: St.Petersburg
Сообщений: 17
|
Re: Как добавить приложение в дистрибутив?
Вроде если не сказать, что приложения и команды надо встраивать, то будут отдельные модули:
app_voicemail.so
app_transfer.so
app_senddtmf.so
...
func_base64.so
func_callerid.so
func_cdr.so
...
res_convert.so
res_crypto.so
res_indications.so
...
В противном случае все сложится в один файл - asterisk.
|
Откуда: Киев
Сообщений: 1096
|
Re: Как добавить приложение в дистрибутив?
rti: Вроде если не сказать, что приложения и команды надо встраивать, то будут отдельные модули
спасибо. Ответ исчерпывающий. Буду экспериментировать
еще маленький вопрос, насколько важно компилить астериск с модулями в фряхе. по идее в модулях только увязка между собой, но никак не с ОС?
|
Сообщений: 1530
|
Re: Как добавить приложение в дистрибутив?
svoy: по идее в модулях только увязка между собой, но никак не с ОС?
С какой радости? Или они не используют libc?
# ldd pbx_config.so
libc.so.6 => /lib/libc.so.6 (0x0011c000)
/lib/ld-linux.so.2 (0x80000000)
|
|