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.pswp.cn/web/63842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63842.shtml
英文地址,請注明出處:http://en.pswp.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…