我通过聊天方式向他请教了编译linphone的过程
http://www.linphone.org/eng/download/git.html linphone源码
根据自己的需要下载 git http://git-scm.com/
安装git
之后在 终端 命令行下
输入
git clone git://git.linphone.org/linphone-iphone.git --recursive
开始下载 克隆
可能中间会出现 port9418 错误
希望出现这个错误的同胞们 再重新删除 再git吧 我是这样的 不知道怎么解决 可能我这边网络不正常吧 反正我又下了次没有出现这种错误
下载之后没有报什么failed 那就恭喜 成功了
下一步 打开 linphone-iphone目录 里面有个readme 打开 可以看到
******************************************
Linphone for iPhone depends on liblinphone sdk. To build this sdk, you must install both xcode with iPhone OS SDK and MacPorts (www.macports.org) with the following ports:
-automake
-autoconf
-libtool
-intltool
-wget
-pkgconfig
//要先下载macport 安装完成之后
执行
//sudo port install automake
//...
Link macport libtoolize to glibtoolize (sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize)
//直接运行上面的命令
sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
You may update variable SDK_VERSION from file submodules/build/iphone-config.site according to your iPhone SDK version. Current is 4.0
//这句的意思是改成你目前支持的iphone sdk
To generate the liblinphone dual arch sdk, once the above commands have been executed:
cd submodules/build
make -f builder-iphone-simulator.mk all && make -f builder-iphone-os.mk all &&make -f builder-iphone-os.mk delivery-sdk
//现在最新的版本 应该是 make all 直接make all
如果没有什么错误应该就可以编译通过了
生成的是个
liblinphone-sdk
Libraries are available from liblinphone-sdk/
make all 的时候会有 一些文件下载不到
opt/local/bin/wget http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf
--2011-06-15 14:20:13-- http://www.ilbcfreeware.org/documentation/gips_iLBClicense.pdf
正在解析主机 www.ilbcfreeware.org (www.ilbcfreeware.org)... 174.133.170.66
正在连接 www.ilbcfreeware.org (www.ilbcfreeware.org)|174.133.170.66|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 404 Not Found
2011-06-15 14:20:14 错误 404:Not Found。
make[3]: *** [gips_iLBClicense.pdf] Error 8
make[2]: *** [all-recursive] Error 1
make[1]: *** [build-libilbc] Error 2
make: *** [all] Error 2
修改makefile
/linphone-iphone/submodules/build-i386-apple-darwin/libilbc-rfc3951/downloads
/linphone-iphone/submodules/build-armv7-apple-darwin/libilbc-rfc3951/downloads
/linphone-iphone/submodules/build-armv6-apple-darwin/libilbc-rfc3951/downloads
gips_iLBClicense.pdf
从网上搜到 这个文件 http://www.calculate-linux.org/packages/licenses/gips_iLBClicense.pdf
但是要修改 makefile 文件 查找 license_url = http://www.ilbcfreeware.org/documentation/$(license)
修改为 license_url = http://www.calculate-linux.org/packages/licenses/$(license)
2
1. Install XCode
2. Install MacPort, then install these ports: automake, autoconf, libtool, intltool, wget, pkgconfig, gtk2
sudo port intall automake
sudo port install autoconf
sudo port install libtool
sudo port install intltool
sudo poart install wget
sudo port install pkgconfig
sudo port install gtk2
3.Install git. I followed the instruction on this great github article.
4. Download linphone source from this git tree page
git clone
git://git.linphone.org/linphone-iphone.git --recursive
5. Follow the README in linphone-iphone directory
Link important libtoolize to glibtoolize
sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
Update SDK_Version in submodules/build/iphone-config.site if appropriate
Generate the liblinphone dual arch sdk
cd submodules/build
make -f builder-iphone-simulator.mk all && make -f builder-iphone-os.mk all &&make -f builder-iphone-os.mk delivery-sdk
6. After step 5 is completed, open linphone.xcodeproj in linphone-iphone directory. Just build as normal.
Troubleshooting
On Snow Leopard with MacPort 1.9.2, I had to copy /usr/X11/share/aclocal/pkg.m4 to /usr/share/aclocal to get rid of the PKG_CHECK_MODULES error. Thanks to Thomas Covo’s response to a thread. After doing so, run ./autogen.sh in all external plugins (exosip, osip, speedx) and
cd submodules/externals/exosip
./autogen.sh
cd ../osip
./autogen.sh
cd ../speex
./autogen.sh
cd ../../linphone
./autogen.sh
3.
linphone编译过程及可能遇到的问题
linphone在编译的过程中会需要很多的依赖包,如果有一个包没有安装上就会编译失败,README上面的编译步骤是没有错误的,但是我们在用macport编译的过程中,明明按照步骤来的一步一步的安装,发现最后make all的时候会出现各种各样的问题。下面我先把README上的安装步骤以及需要注意的地方详细说明以下
1 在编译之前我们需要安装编译所需要的各种依赖包,为了方便安装我们可以macport软件安装工具,所以首先我们需要下载并安装xocode和macport ,下载xcode comand tools
然后在终端执行下面的命令
$ sudo port install nawk coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm doxygen
2 下载安装gas-preprosessor.pl
$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
$ sudo mv gas-preprocessor.pl /opt/local/bin/.
$ sudo chmod +x /opt/local/bin/gas-preprocessor.pl
3 把macport libtoolize link glibtoolize
$ sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
4 Link host's strings to simulator SDK
For Xcode prior to 4.3:
$ sudo ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
For newer XCode:
$ sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
5 开始编译
To generate the liblinphone multi arch sdk in GPL mode, do:
$ cd submodules/build
$ make all
如果不想作为一个开源的软件,执行下面的命令
$ cd submodules/build
$ make all enable_gpl_third_parties=no
* ZRTP支持
$ make all enable_gpl_third_parties=yes enable_zrtp=yes
SDK结果在 liblinphone-sdk/ directory.
如果你想重新编译你的SDK,执行下面的命令
$ make veryclean
$ make all
如果在编译的过程中没有出现error 那么恭喜你,你编译成功了。
在编译的过程出现的问题(这时我在编译的过程出现的问题)
1 sudo port install nawk coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm doxygen 执行这个命令的过程中,我们不要一起安装(加入你不是一个linux高手),在安装的过程中我们才会知道那个,所以我们可以一个确定那个安装包安装成功失败,我们可以用命令sudo port install nawk........
我们可以用which nawk查看我们是否安装了某个安装包。
2 有时候我们下载的linphone包是不完整的。请确认你的包是完整的。
3 make all的过程出现 could not create libosip2.pc 这时缺少依赖包,我们需要确认缺少的是那个依赖包,方法同一