主要是参考台湾Rickey's pets的日志,还有linphone里面带的readme.arm文档。使用的组件如下:
readline-5.2
ncurses-5.6
libosip2-3.0.3
libeXosip2-3.0.3
libogg-1.1.3
speex-1.2beta3
linphone-2.0.1
整个过程就不再叙述了,和他们差不多。在编译libeXosip2-3.0.3的时候和他们稍微不同。
首先解开libeXosip2-3.0.3,tar zxvf libeXosip2-3.0.3.tar.gz
然后将libosip2的头文件和编译生成的库文库文件拷贝到相应的目录下。
cp -rf libosip2-3.0.3/include/osip2 libeXosip2-3.0.3/include/osip2
cp -rf libosip2-3.0.3/include/osippareser2 libeXosip2-3.0.3/include/osipparser2
库文件需要到安装的目录下lib文件下找。
cp libosip2-3.0.3/src/osip2/.libs/libosip2.a /usr/lib
cp libosip2-3.0.3/src/osippareser2/.libs/libosipparser2.a /usr/lib
上面的目录可能不是完整的,实际操作的时候需要看自己的工作目录情况。
前面的组件安装都比较顺利,在配置linphone-2.0.1的时候,出现了问题:
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables SPEEX_CFLAGS
and SPEEX_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details
我想是不是pkg-config没装啊,后来仔细看文档,才发现这个pkg-config实际是本机的这个程序,而不是交叉编译出来的pkg-config,所以需要执行一下:export PKG_CONFIG=/usr/bin/pkg-config就可以了。
然后开始编译,在编译linphonec.c的时候出现了一堆的错误,是和oRTP和meadiastream2有关系的,多数是undefined symbol错误。
在./configure 选项里面加入--disable shared,就可以顺利编译通过了。
现在linphone可以在开发板上运行了,可以拨号,但是出现了网络错误:
# ./linphonec
Ready
Warning: video is disabled in linphonec.
linphonec> call sip:192.168.0.180
Contacting sip:192.168.0.180
linphonec> DEBUG: [get_output_if] connect: Network is unreachable
ortp-error-Could not find default routable ip address !
DEBUG: [get_output_if] connect: Network is unreachable
DEBUG: [get_output_if] connect: Network is unreachable
DEBUG: [get_output_if] connect: Network is unreachable
ortp-error-Could not find default routable ip address !
这个错误可能是和linphone获取网络配置有关系,在呼叫计算机上的linphone的时候,显示开发板的地址是127.0.0.1是local的地址,尽管使用ifconfig la down 命令,还是显示这个错误。
正在思考怎么处理......
这个问题在linphone的网站上有人提出过,开发者说下一个版本的libeXosip会改进.但是我试用了新版的两个程序,都不能编译通过,只能修改这个.在libeXosip2-3.0.3/src/Xconf.c文件中,eXosip_init()函数里的
snprintf(eXosip.ipv4_for_gateway, 256, "%s", "217.12.3.11");把后面的地址改成和自己开发板一致的就可以了.然后编译libeXosip和linphone,就可以使用了.
不过,我比较衰,网络好了,开发板的声卡出了问题,只能听到第一声振铃,然后就死掉了.
继续找问题中......