Centos7配置webrtc-streamer环境

Centos7配置webrtc-streamer环境
  • 安装webrtc-streamer0.7版本
    • 升级gdb
      • 1、yum安装
      • 2、查看gdb版本
      • 3.下载待升级的gdb版本
      • 4.QA
        • 1、预编译的时候报错no acceptable C compiler found in $PATH
        • 2、make的时候报错[all-bfd] Error
        • 3、make的时候报错
    • 升级GCC
      • 1.源码编译升级gcc9.3.0
      • 2.升级成功后gcc版本检查
    • 升级Python
    • 升级make
      • 下载make
      • 编译安装make
      • make版本检查
    • 升级binutils
      • 下载binutils
      • 编译安装binutils
    • 升级bison
      • 下载bison
      • 编译安装bison
      • bison版本检查
    • 升级glibc
      • 下载glibc3.3版本
      • 查看安装glibc需要的依赖版本
      • 编译glibc
      • 版本检查

安装webrtc-streamer0.7版本

下载安装包
wget https://github.com/mpromonet/webrtc-streamer/releases/download/v0.7.0/webrtc-streamer-v0.7.0-Linux-x86_64-Release.tar.gz解压
tar -zxvf webrtc-streamer-v0.7.0-Linux-x86_64-Release.tar.gz重命名
mv webrtc-streamer-v0.7.0-Linux-x86_64-Release/ webrtc-streamer/cd webrtc-streamer/执行 ./webrtc-streamer 查看缺少的依赖

在这里插入图1片描述
缺少libX11.so.6依赖,执行 yum whatprovides libX11.so.6 查看需要安装的版本
然后执行以下命令安装 libX11.so.6

yum install -y libX11-1.6.7-2.el7.x86_64 --setopt=protected_multilib=false

然后再重复执行./webrtc-streamer查看还缺哪些依赖按照以上步骤安装,直到最后出现如下情况:缺少glibc依赖
在这里插入图片描述
升级glibc依赖前,需要升级gdb 、gcc、python、make

升级gdb

gdb版本:升级前7.6.1,升级后7.8

1、yum安装
yum install -y gdb
2、查看gdb版本

在这里插入图片描述

3.下载待升级的gdb版本
下载安装包
wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.gz解压软件包
tar -zxvf gdb-7.8.tar.gz

预编译,分别执行以下指令,如果出现报错,按照QA章节处理,建议执行make之前先把QA章节的依赖先安装一遍

cd gdb-7.8
mkdir build && cd build
../configure --prefix=/usr
make
make install

最后检查版本

在这里插入图片描述

4.QA
1、预编译的时候报错no acceptable C compiler found in $PATH

报错信息:configure: error: no acceptable C compiler found in $PATH
报错原因:未安装gcc
解决方案:yum -y install gcc-c++

2、make的时候报错[all-bfd] Error

报错信息:make[3]: *** [bfd.info] Error 1
报错原因:没有安装texinfo模块
解决方案:yum install -y texinfo,然后重新执行预编译步骤

3、make的时候报错

报错信息:no termcap library found
报错原因:没有安装termcap
解决方案:源码安装termcap
#下载termcap软件包
[root@s142 opt]# wget https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz --no-check-certificate
#解压软件包
[root@s142 opt]# tar -zxvf termcap-1.3.1.tar.gz
#预编译
[root@s142 termcap-1.3.1]# ./configure --prefix=/usr
#编译
[root@s142 termcap-1.3.1]# make
#编译安装
[root@s142 termcap-1.3.1]# make install
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/carefree2005/article/details/125068985

升级GCC

1.源码编译升级gcc9.3.0
wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
tar -zxf gcc-9.3.0.tar.gz
cd gcc-9.3.0/./contrib/download_prerequisites

执行后如果报错:lbzip2: Cannot exec: No such file or directory,那就需要安装lbzip2
在这里插入图片描述

执行
yum -y install bzip2

安装完毕后再次执行

./contrib/download_prerequisites 

在这里插入图片描述
最后再执行编译

 mkdir build && cd build
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usrmake
make install
2.升级成功后gcc版本检查
gcc -v

在这里插入图片描述

升级Python

执行yum install python3 -y查看python版本,
python --version

在这里插入图片描述
发现python版本没变,这是因为在/usr/bin中有个python软链接文件仍然指向python2
在这里插入图片描述
删除该文件,重新创建一个,指向python3就可以了
在这里插入图片描述

更改了链接后会导致yum命令不可用
在这里插入图片描述
这是因为yum包管理是使用python2.x写的,将python2.x升级到python3.6.8以后,由于python版本语法兼容性导致问题出现
解决办法:
修改yum配置文件,将python版本指向以前的旧版本

# vi /usr/bin/yum
#!/usr/bin/python2.7

在这里插入图片描述

修改urlgrabber-ext-down文件,更改python版本

# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7

在这里插入图片描述

升级make

下载make
wget https://mirrors.aliyun.com/gnu/make/make-4.4.tar.gz
tar -zxvf make-4.4.tar.gz
编译安装make
cd make-4.4
mkdir build && cd build# 编译安装
../configure --prefix=/usr make make install
make版本检查
make -v

升级binutils

下载binutils
wget https://mirrors.aliyun.com/gnu/binutils/binutils-2.30.tar.gz
tar -zxvf binutils-2.30.tar.gz
编译安装binutils
cd binutils-2.30
./configure  --prefix=/usr
make && make install

升级bison

下载bison
wget https://mirrors.aliyun.com/gnu/bison/bison-3.0.1.tar.gz
tar -zxvf bison-3.0.1.tar.gz
编译安装bison
cd bison-3.0.1
./configure --prefix=/usr
make && make install
bison版本检查
bison -V

升级glibc

下载glibc3.3版本
wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.33.tar.gz
tar -zxf glibc-2.31.tar.gz
cd glibc-2.31/
查看安装glibc需要的依赖版本
cat INSTALL | grep -E "newer|later"

在这里插入图片描述
如果有依赖版本不符合需重新安装后再编译glibc

编译glibc
mkdir build
cd build
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks --disable-werrormake
make install
make localedata/install-locales

最后升级完成后的页面,会有一个error,可以忽略,如下:
在这里插入图片描述

版本检查
strings /lib64/libc.so.6 | grep GLIBC
ll /lib64/libc.so*
ldd --version

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue.js 响应接口

Vue.js 响应接口 引言 Vue.js,作为当前前端开发领域中的佼佼者,以其简洁、高效和灵活的特点,赢得了广大开发者的喜爱。其核心功能之一便是响应式系统,它使得数据与视图之间的同步变得异常简单。本文将深入探讨Vue.js的响应接口,解析其工作原理,并展示如何在实际项目中有…

深入了解蓝牙Profile类型与设备的对应关系

在现代技术中,蓝牙作为一种无线通信技术,广泛应用于各种设备之间的短距离通信。不同的设备在连接时使用不同的蓝牙Profile(配置文件),每种Profile都为特定的设备功能提供支持,例如音频流传输、语音通话、文件传输等。在本文中,我们将详细介绍蓝牙Profile的常见类型及其对…

LLMs之PDF:MinerU(将PDF文件转换成Markdown和JSON格式)的简介、安装和使用方法、案例应用之详细攻略

LLMs之PDF:MinerU(将PDF文件转换成Markdown和JSON格式)的简介、安装和使用方法、案例应用之详细攻略 目录 MinerU的简介 0、日志 1、MinerU 的主要特点 2、已知问题 MinerU 安装和使用方法 1、MinerU的三种体验方式 T1、在线演示 T2、快速CPU演示 T3、GPU …

【AIGC】ChatGPT 结构化 Prompt 的高级应用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;标识符的使用&#xff08;Use of Identifiers&#xff09;1. #2. <>3. - 或 4. [] &#x1f4af;属性词的重要性和应用应用场景 &#x1f4af;具体模块…

Python绘制图表

Python提供了多种可视化库&#xff0c;常用的有matplotlib、seaborn和plotly等。这些库可以用于绘制各种类型的图表&#xff0c;如折线图、散点图、柱状图、饼图等。 下面是一个使用matplotlib绘制折线图的示例&#xff1a; python import matplotlib.pyplot as plt # 准备数…

Python 练习

一、列表练习 1、求偶数元素的和[1,2,1,2,3,3,6,5,8] 1 2 3 4 5 6 list01 [1, 2, 1, 2, 3, 3, 6, 5, 8] sum 0 for i in list01: if int(i) % 2 0: sum sum i print(f"列表中所有偶数和是: {sum}") 2、计算 1 - 2 3 - 4 ... 99 中除88以外…

OpenEuler 22.03 安装 flink-1.17.2 集群

零&#xff1a;规划 本次计划安装三台OpenEuler 22.03 版本操作系统的服务器&#xff0c;用于搭建 flink 集群。这里使用flink1.17.2 的原因&#xff0c;是便于后续与springboot的整合 服务器名IP地址作用其他应用flink01192.168.159.133主jdk11、flink-1.17.2flink02192.168.…

Docker 安装 禅道-21.2版本-外部数据库模式

Docker 安装系列 1、拉取最新版本&#xff08;zentao 21.2&#xff09; [rootTseng ~]# docker pull hub.zentao.net/app/zentao Using default tag: latest latest: Pulling from app/zentao 55ab1b300d4b: Pull complete 6b5749e5ef1d: Pull complete bdccb03403c1: Pul…

宽带ANC、窄带ANC、正弦噪声抑制组成混合噪声控制系统结构

混合控制结构由宽带ANC子系统&#xff08;BANC&#xff09;、窄带ANC子系统&#xff08;NANC&#xff09;和正弦噪声抑制子系统&#xff08;SNC&#xff09;三部分组成。这种混合系统的设计目标是有效地控制同时包含宽带噪声和窄带噪声&#xff08;例如周期性的正弦噪声&#x…

车载网关性能 --- GW ECU报文(message)处理机制的技术解析

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题

目录 为什么要结合项目与算法&#xff1f; 1. 蓝桥杯与《苍穹外卖》项目的结合 实例&#xff1a;基于蓝桥杯算法思想的订单配送路径规划 问题描述&#xff1a; 代码实现&#xff1a;使用动态规划解决旅行商问题 代码解析&#xff1a; 为什么这个题目与蓝桥杯相关&#x…

自己搭建专属AI:Llama大模型私有化部署

前言 AI新时代&#xff0c;提高了生产力且能帮助用户快速解答问题&#xff0c;现在用的比较多的是Openai、Claude&#xff0c;为了保证个人隐私数据&#xff0c;所以尝试本地&#xff08;Mac M3&#xff09;搭建Llama模型进行沟通。 Gpt4all 安装比较简单&#xff0c;根据 G…

大语言模型中的Agent优势及相关技术;Agent和RAG区别

大语言模型中的Agent优势及相关技术: 强大的任务规划与执行能力 技术:通过将复杂任务拆解为多个子任务,并依据任务间的逻辑关系和优先级进行规划,确定执行顺序,调用相应工具或模型来完成各子任务,最终实现复杂任务的整体解决。如微软的Jarvis,可利用LLM的推理规划能力拆…

深入理解构造函数:C++ 编程中的基石

一、概念 构造函数(Constructor) 是一种特殊的成员函数&#xff0c;用于在创建对象时初始化对象的状态&#xff08;即成员变量&#xff09;。它的主要作用是保证对象在创建时具有有效的初始值。 二、特点 与类同名&#xff1a; 构造函数的名称与类名相同&#xff0c;没有返回…

GIS数据处理/程序/指导,街景百度热力图POI路网建筑物AOI等

简介其他数据处理/程序/指导&#xff01;&#xff01;&#xff01;&#xff08;1&#xff09;街景数据获取&#xff08;2&#xff09;街景语义分割后像素提取&#xff0c;指标计算代码&#xff08;绿视率&#xff0c;天空开阔度、视觉熵/景观多样性等&#xff09;&#xff08;3…

微前端qiankun的使用——实践

qiankun 创建主应用项目——vue2 main.js注册子应用 $ yarn add qiankun # 或者 npm i qiankun -Simport { registerMicroApps, start } from qiankun; import Vue from "vue"; import App from "./App.vue"; import router from "./router"; …

后端项目java中字符串、集合、日期时间常用方法

我这里只介绍了项目中最常用的哈,比如像集合有很多,但我们最常用的就是ArrayList。 然后我这里会以javascript中的字符串、数组的方法为基准来实现,有些方法js和java会有些区别也会介绍 字符串 每次修改 String 对象都会创建一个新的对象,而 StringBuffer 可以在同一个对象…

Ubuntu 22.04永久保存路由

在 Ubuntu 22.04 上&#xff0c;可以按照以下方式配置让流量访问 172.19.201.207 走指定的路由。 1. 临时添加路由 临时路由规则只在当前系统会话中有效&#xff0c;重启后会丢失。 添加路由规则 运行以下命令&#xff1a; sudo ip route add 172.19.201.207 via 192.168.2…

实用 Linux 之命令(Practical Linux Commands)

实用 Linux之 命令&#xff0c;可以解决日常99%的问题~ 1、基本命令 uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作…

SAP SD客户主数据及其配置

一、客户主数据概述 在SD模块概览中对于SD模块及其有关的三大主数据进行了概要介绍&#xff0c;本篇文章将重点对于客户主数据进行有关介绍。 1、业务伙伴主数据 在提到客户主数据之前&#xff0c;我们先了解业务伙伴主数据的概念。 业务伙伴主数据是一个更广泛的概念&#x…