新的Linphone已经支持SUBSCRIBE/NOTIFY,当然还有MESSAGE,这样的话就差不多把SIMPLE协议几个主要的功能都支持了,还是很有意义的。
于是重新下载代码编译,编译条件也没怎么变,而且出奇的顺利,开始遇到了一些问题,后来升级了XCode就可以了。
也没有遇到上次的那个armv7s的问题,强烈推荐大家重新编译。
新的Linphone已经支持SUBSCRIBE/NOTIFY,当然还有MESSAGE,这样的话就差不多把SIMPLE协议几个主要的功能都支持了,还是很有意义的。
于是重新下载代码编译,编译条件也没怎么变,而且出奇的顺利,开始遇到了一些问题,后来升级了XCode就可以了。
也没有遇到上次的那个armv7s的问题,强烈推荐大家重新编译。
同事说上次编译的Liphone在某些SIP Server上有单通的现象,于是重新下载了代码编译一次,结果这回出现一个错误:
llvm-gcc-4.2: Invalid arch name : armv7s
对于水果的东西还真是不太熟,搞了小半天终于明白了,armv7s是IPhone 5的A6处理器的指令集,上次编译的时候还没有,用的是armv7,现在Linphone已经支持IPhone5了,所以是我的gcc太老了支持armv7s。我的XCode是4.5,用的llvm-gcc是XCode自带的,但是MacPorts好像也有gcc,所以昨晚走的时候一边port upgrade一边重新安装XCode Command Line Tools,结果早上来的时候已经可以编译了,只不过搞不清楚倒是哪个升级的gcc,:), 估计还是xcode的可能性比较大。现在的gcc版本是:
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
不过倒是也看到有老外说未经真机测试不要发布支持IPhone5的应用,说的也有道理,升级到iOS6的4s确实不能替代IPhone5来做测试,好吧,反正IPhone5快上了,搞一台来做测试吧。
20121207: 晕死了,发现上次编译成功是因为那天下班前我把Makefile里头的armv7s改成armv7了,然后又升级了port和xcode,结果就忘了Makefile这回事儿了,所以实际上新代码还是按照armv7编译的,不是armv7s。这个问题还在,还得再看看。
前面已经在CentOS上编译过Linphone安卓的源代码,但是IPhone版的需要xcode with iPhone OS SDK and MacPorts,想来这东西在CentOS上是搞不定了,正好也不着急,索性等了几天让搞iOS的同事去试试看。
但是他还是比较擅长UI开发,对于底层编译之类的不太擅长,遇到了一些问题之后就走不下去了。那么还是自己来吧,连到他的Mac Mini上去弄。虽然没有用过OS X,不过既然是基于Unix的那应该也差不离吧。
首先试着shh到Mac上,结果22端口没看,搜了一下看到:Mac OS X 10.6.2 (Snow Leopard)中, OpenSSH Server是已经安装了的,只是没有启用而已。Systerm Preferences -> Shareing ,在左侧列表中选中 “Remote Login”即可。这个很快就解决了。
然后就是中文显示问号的问题,在Puttty里头我已经设置了字体和字符集了,还是不行,后来看了一下可以登录后:
LANG=zh_CN.UTF-8
export LANG
其实还是OS X自身设置的问题,不过我也不想去改别人的开发环境,而且有没有中文也没所谓。
README上说需要先安装xcode with iPhone OS SDK and MacPorts,这两个前面已经安装过了,后面就是安装一些编译的工具,和Android的类似。在自动安装doxygen的依赖包出错:
—> Configuring ghostscript Error: org.macports.configure for port ghostscript returned: configure failure: command execution failed Error: Failed to install ghostscript
找了一圈,这个问题似乎不太好界定,有人提到需要更新macports:sudo port selfupdate,但是也遇到问题:
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl
后来加了-d参数以后得到:
configure: error: in `/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base’: configure: error: C compiler cannot create executables
这个说法也不一,也人说需要最新的xcode,让同事看了一下,说刚刚更新过iOS 6,应该就是最新的了,最后有人提到需要安装Xcode command line tools,一问果然没安装,从Xcode的设置里头安装就可以,就是需要下载,费点时间,也不去更新MacPort了,直接再安装doxygen,这次结果就不太一样了,一堆输出之后得到:
Error: graphviz cannot be built while nawk is active.
Error: Please deactivate nawk and try again.
这次的提示就很清楚了,直接sudo port install doxygen就可以了。
后面建连接libtoolize和/usr/bin/string的时候发现已经存在了,指向也对,那就可以了。
最后make all的时候还是遇到了网太慢SILK_SDK_SRC_v1.0.8.zip下载失败的问题,直接copy过去了事儿。
后来下载其他包的时候还是失败过一次,但是最后还是成功了,虽然make的过程还是很慢。
PS: 这篇是边编译边记录,所以到最后一看,其实很没有内涵,总结起来就一句话,别忘了装Xcode command line tools,但是好歹也写了这么多了,还是发吧。