Debian 9发布有一段时间了,FreeSWITCH最新的代码也做了适配,只是还没有发布的包。
前几天给客户装了一个Debian 9的系统,遇到了一些坑基本都解决了,其中一个就是安装 iLBC的问题。
make mod_ilbc-install 出现如下错误:
Makefile:913: *** You must install libilbc-dev to build mod_ilbc. Stop.
这是由于libilbc-dev没找到。换了好几个Debian的源,没有找到ilbc-dev,只好到官方下载代码手工编译。
FreeSWITCH用到了很多第三方的库,有一些库的代码FreeSWITCH自己维护了一个版本,放在这里:
https://freeswitch.org/stash/projects/SD
Clone源代码:
git clone https://seven@freeswitch.org/stash/scm/sd/libilbc.git
编译安装
./bootstrap.sh && ./configure && make -j
make install
安装后显示一下相关参数
# pkg-config --cflags ilbc
-I/usr/local/include
# pkg-config --libs ilbc
-L/usr/local/lib -lilbc
到mod_ilbc源代码目录下
cd src/mod/codecs/mod_ilbc
修改Makefile.am,把 if HAVE_ILBC 及 else 后面的相关逻辑去掉,Makefile.am变成下面的样子:
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_ilbc
ILBC_CFLAGS=-I/usr/local/include
ILBC_LIBS=-L/usr/local/lib -lilbc
mod_LTLIBRARIES = mod_ilbc.la
mod_ilbc_la_SOURCES = mod_ilbc.c
mod_ilbc_la_CFLAGS = (AM_CFLAGS) (ILBC_CFLAGS)
mod_ilbc_la_LIBADD = (switch_builddir)/libfreeswitch.la (ILBC_LIBS)
mod_ilbc_la_LDFLAGS = -avoid-version -module -no-undefined -shared
然后再执行 make ,系统就会重新生成 Makefile 并编译。
可以收工啦。