最近学习licode开源项目,越发觉得世界发展如此之快。菜鸟哥突然意识到,再不紧跟,就要被落伍淘汰了,下定决心要好好学习。
licode是一个封装webrtc的server,是一个开源项目。感谢licode的team为我们提供了优秀的代码,架构。
学习licode的主要内容是学习源码,学习使用的技术,架构,编译方法,实现细节。
在开始之前,需要下载licode源码:https://github.com/lynckia/licode。
我的学习思路是,先下载源码,再编译源码,再学习源码。
下载后,阅读其下面的文档:
If you are interested in contributing, want to get a better view of the Licode architecture or you don‘t trust those fancy containers - How to build Licode from source
文档里面说,如果对更好看架构,并且有兴趣为licode做贡献,可以看一下,如何从源码编译。
如何编译源码这块儿功能,恰好是我所期望的。
打开链接:https://licode.readthedocs.io/en/master/from_source/
里面介绍如何编译licode。介绍的操作系统有:Ubuntu,Mac OS X
菜鸟哥使用的操作系统是CentOS 6.6 x64,没有对应的脚本。不过没有关系,Ubuntu和centos都是linux内核,里面大多数命令都是类似的。
根据介绍,进入script目录,
[[email protected] scripts]# ls
checkNvm.sh initLicode.sh installErizo.sh installNuve.sh libnice-014.patch0 rtp_media_config_default.js travisInstall.sh
initBasicExample.sh installBasicExample.sh installMacDeps.sh installUbuntuDeps.sh licode_default.js travisInstallDeps.sh travisScript.sh
比较有用的脚步,intallUbuntuDeps.sh:这个应该是准备环境的脚步,installErizo.sh:这个是准备licode的C++代码部分的环境。
C++,对这部分比较感兴趣,先把C++的库编译出来再说。
执行 vim installUbuntuDeps.sh,将里面的apt-get修改为yum,sudo apt-get修改为yum,删除里面的sudo
执行脚步:./installUbuntuDeps.sh
[[email protected] scripts]# ./installUbuntuDeps.sh
Initialized empty Git repository in /home/test/licode-master/build/libdeps/nvm/.git/
error: while accessing https://github.com/creationix/nvm.git/info/refs
fatal: HTTP request failed
看信息,是git版本比较低,参考 https://blog.csdn.net/chuxuan909/article/details/79485750,升级新版本的git
根据https://blog.csdn.net/tanga842428/article/details/73277739 安装nodejs和npm
再次执行 installUbuntuDeps.sh,进入漫长的等待完成过程中。。。。
经过漫长的等待以后,出现了报错:
libav-11.9/version.sh
ERROR: libvpx decoder version must be >=0.9.1
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #libav on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.
Makefile:1: config.mak: No such file or directory
Makefile:99: /common.mak: No such file or directory
Makefile:137: /libavutil/Makefile: No such file or directory
Makefile:137: /library.mak: No such file or directory
Makefile:139: /doc/Makefile: No such file or directory
Makefile:214: /tests/Makefile: No such file or directory
make: *** No rule to make target `/tests/Makefile‘. Stop.
Makefile:1: config.mak: No such file or directory
Makefile:99: /common.mak: No such file or directory
Makefile:137: /libavutil/Makefile: No such file or directory
Makefile:137: /library.mak: No such file or directory
Makefile:139: /doc/Makefile: No such file or directory
Makefile:214: /tests/Makefile: No such file or directory
make: *** No rule to make target `/tests/Makefile‘. Stop.
好吧,看来路不是这么容易就可以通的
今天太晚了,明天继续学习了
原文地址:https://www.cnblogs.com/limedia/p/licode_compile_1.html