licode学习之编译篇--1

最近学习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

时间: 2024-10-23 10:33:17

licode学习之编译篇--1的相关文章

licode学习之编译篇--3

上一篇中,提示找不到NICE库,先看看CMakList里面吧 [[email protected] erizo]# pwd /home/test/licode-master/erizo [[email protected] erizo]# vim src/CMakeLists.txt #global variable set(THIRD_PARTY_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/../../build/libdeps/build/include/&qu

licode学习之erizo篇--Pipeline_handle

erizo的pipeline的handle,是媒体数据处理的基本操作,handle分为3类:IN,OUT,BOTH IN:数据进入handle,handle需要read数据并传递给下一级 OUT:数据进入handle,handle需要write数据并传递给下一级 BOTH:可以同时进行read和write 在宏观语义上,IN的目标是输出rtp裸数据:OUT的目标是封装rtp裸数据 pipeline的handle的继承体系如下: handle有三种:InboundHandler.Handler.O

Caffe学习系列——工具篇:神经网络模型结构可视化

Caffe学习系列--工具篇:神经网络模型结构可视化 在Caffe中,目前有两种可视化prototxt格式网络结构的方法: 使用Netscope在线可视化 使用Caffe提供的draw_net.py 本文将就这两种方法加以介绍 1. Netscope:支持Caffe的神经网络结构在线可视化工具 Netscope是个支持prototxt格式描述的神经网络结构的在线可视工具,网址:  http://ethereon.github.io/netscope/quickstart.html  它可以用来可

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

angularjs入门学习【指令篇】

一.首先我们来了解下指令API 属性 含义 restrict 申明标识符在模版中作为元素,属性,类,注释或组合,如何使用 priority 设置模版中相对于其他标识符的执行顺序 Template 指定一个字符串式的内嵌模版,如果你指定了模版是一个URL,那么是不会使用的 tempateUrl 指定URL加载的模版,如果你已经指定了内嵌的模版字符串,那么它不会使用的 Replace 如果为真,替换当前元素,如果是假或未指定,拼接到当前元素 Transclude 移动一个标识符的原始字节带你到一个新

Qt学习总结-ui篇(二)

qccs定义圆角 border-radius:10px; 如果想给特定位置定义圆角,如: 左上角:border-left-top-radius:10px; 右下角色:border-right-bottom-rasius:10px; 半透明效果 只需要在css中使用rgba(100,100,100,40)这种形式来表示颜色即可. 为可执行文件添加图标 1.新建文件:finename.rc 文件名无所谓,只要后缀为rc就可以. 2.编辑新建的文件,输入以下内容: IDI_ICON1 ICON DIS

SystemTap 学习笔记 - 安装篇

https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux 安装 为了部署 SystemTap,需要安装以下两个 RPM 包: systemtap systemtap-runtime 以 root

老老实实学习WCF[第二篇] 配置wcf

老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: [csharp] view plaincopy using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.ServiceModel.Description; name

ASP.NET MVC学习之路由篇(1)

原文:ASP.NET MVC学习之路由篇(1) 一.前言 作为一个从ASP.NET转入到ASP.NET MVC的开发人员而言,可能在开发ASP.NET网站的时候就已经开始在使用路由了. 只不过在ASP.NET MVC中路由是关键部分,而在ASP.NET中需要自行加进去.下面我们将学习ASP.NET MVC中的路由 系统. 二.准备工作 1.新建一个ASP.NET MVC4项目 2.模板选择空 3.在Controllers中添加一个Home控制器 4.打开App_Start中的RouteConfi