webrtc-stream编译报错记录

news2024/9/28 11:21:10

磁盘空间不足错误

  • 错误信息
677.2 fatal: cannot create directory at 'blink/web_tests/external/wpt': No space left on device
  • 说明:这个错误是由于本地在配置docker资源时所给磁盘空间太小导致,直接根据镜像大小合理分配资源大小即可
    docker资源调整

pushd和popd执行报错

ERROR: failed to solve: process "/bin/sh -c pushd .." did not complete successfully: exit code: 127
  • chatgpt了一下,pushd和popd整体相当于执行cd .. 和 cd -操作,这里可以使用cd操作或者直接使用WORKDIR进行目录定位进行操作

相关依赖不存在报错

  • 官方git给出build如下所示
    在这里插入图片描述
  • 在次步骤中缺少相关依赖,需要执行以下操作
    • 拉取webrtc-stream 后需要拉取相关代码依赖
    git submodule init
    git submodule update 
    
    • fetch webrtc代码之后需要再执行gclient sync进行同步操作

cmake执行报错

  • 缺少相关依赖:这种情况直接根据报错安装缺少相关依赖
  • 相关版本不匹:根据提示安装相匹配版本即可

MAC直接编译报错

  • 编译dockerfile之后生成镜像中不包含lib64目录
qemu-x86_64: Could not open '/lib64': No such file or directory
  • google了一波发现都是让使用软链的方式将lib和lib64进行挂载操作,然后继续执行
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
  • 发现并没有什么用,挂载后文件中只包含ld-linux-x86-64.so.1
  • 正确做法是由于MAC架构和ubuntu架构不一致导致,添加平台参数编译即可
docker build --platform linux/x86_64 -t webrtc-stream-test .

make到尾出现的最多的一个问题

  • 报错如下,cmake执行后的输出文件中缺少相关的文件
66.91 [ 99%] Building CXX object CMakeFiles/webrtc-streamer.dir/src/rtspvideocapturer.cpp.o
68.35 make[2]: *** No rule to make target '../webrtc/src/out/Release/obj/rtc_base/librtc_json.a', needed by 'webrtc-streamer'.  Stop.
68.35 make[1]: *** [CMakeFiles/Makefile2:124: CMakeFiles/webrtc-streamer.dir/all] Error 2
68.35 make: *** [Makefile:156: all] Error 2
  • 本着出错即看issue的原则,果然这个问题提问的很多,但是最终都指向了#491
    在这里插入图片描述

  • dockerfile继续编译
    在这里插入图片描述

  • 然后尝试后后并没有解决,继续翻看issue,看到#619make文件不存在,且截止目前该issue仍处于open状态,根据帖子所说直接docker run到已有镜像中,先删除生成文件,然后重新执行编译,惊奇的是结果竟然成功了
    在这里插入图片描述

  • 看到这个结果时我是很😳的,那么肯定不是命令的问题,肯定是脚本存在相关问题,继续检查脚本,最终发现问题出现在目录定位不对,更改成功后可以直接使用

总结

  • dockerfile编译整体还是挺麻烦的,如何后续需要继续二开修噶,推荐直接找台ubuntu系统直接操作即可

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

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

相关文章

Android Studio新功能-设备镜像Device mirroring-在电脑侧显示手机实时画面并可控制

下载最新的灰测版本-蜥蜴 成功运行到真机后,点击右侧Running Devices选项卡,再点击号 选中当前设备; 非常丝滑同步,在电脑侧也可以顺畅控制真机 该功能大大方便了我们视线保持在显示器上专注开发,并且便于与UI视觉进行…

【Rust日报】2023-10-22 Korvin - 一个 WASM 前端框架,比基线 vanillajs 实现快了 33%!...

Yazi v0.1.5 发布 - 有史以来最大的更新 Yazi - 💥 用 Rust 编写的基于异步 I/O 的快速终端文件管理器。 嘿伙计!我很高兴在这里宣布Yazi v0.1.5 发布了! 这是有史以来最大的更新,也是周期最长的更新。该版本带来了许多有意义的变…

【进程VS容器VS虚拟机】

进程 VS 容器 VS 虚拟机 如果站在技术实现原理的角度来看,其实容器更像进程,而非虚拟机。 但是如果我们讨论这门技术的应用场景、解决的问题、终端用户是如何使用的,就会发现容器跟虚拟机非常相似,它们解决的是同样的问题&#…

渗透测试工具-sqlmap

sqlmap是一个开源渗透测试的自动化工具,可以自动检测和利用SQL注入漏洞并接管数据库服务器。它配备了一个强大的检测引擎,许多用于终极渗透测试的利基功能,以及广泛的开关,包括数据库指纹识别、从数据库中获取数据、访问底层文件系…

悟空crm安装搭建 报错[0] RedisException in Redis.php line 56问题处理办法

相信很多朋友进行安装悟空crm的时候 提示错误: [0] RedisException in Redis.php line 56 Connection refused 不知道怎么样处理是吧~~~ $this->options array_merge($this->options, $options);}# redis 密码$password config(cache.password);if (!empty…

1024特别剪辑: 使用Python Turtle 库绘制一棵随机生成的树

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻强烈推荐优质专栏: 🍔🍟🌯C的世界(持续更新中) 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔…

【excel技巧】excel单元格内如何换行?

Excel表格,在制作完成之后,在输入数据的时候,总是会遇到内容长度太长导致无法全部显示或者破坏表格整体格式。几天分享4个单元格换行的方法给大家。 方法一: 首先我们先介绍一个,通过调整列宽的方式来达到显示全部内…

xcode The document “...“ could not be saved

Today when I tried to save a file on my project I get an error message saying: The document “nameOfFile.m” could not be saved. I tried reinstalling xcode but no luck. The file can be edited with other editors and I see the same behavior on all my project…

C# Enum.TryParse字符串既可以使用名称也可以使用数字值

var tryParse Enum.TryParse<LicenseType>("0", out var licenseType);以前没留意&#xff0c;以为将字符串装枚举的方法Enum.TryParse的字符串只能填名称&#xff0c;最近发现字符串是数字值也可以转换成相应的枚举

DevOps持续集成-Jenkins(4)

❤️作者简介&#xff1a;2022新星计划第三季云原生与云计算赛道Top5&#x1f3c5;、华为云享专家&#x1f3c5;、云原生领域潜力新星&#x1f3c5; &#x1f49b;博客首页&#xff1a;C站个人主页&#x1f31e; &#x1f497;作者目的&#xff1a;如有错误请指正&#xff0c;将…

【Android Studio】工程中文件Annotate with Git Blame 不能点击

问题描述 工程文件中想要查看代码提交信息但是相关按钮不可点击 解决方法 Android Studio -> Preferences -> Version Control-> 在Unregistered roots里找到你想要的工程文件 点击左上角➕号 然后右下角Apply即可

扩展 Calcite 中的 SQL 解析语法

Calcite中 JavaCC 的使用方法 Calcite 默认采用 JavaCC 来生成词法分析器和语法分析器。 1&#xff09;使用 JavaCC 解析器 Calcite中&#xff0c;JavaCC 的依赖已经被封装到 calcite-core 模块当中&#xff0c;如果使用 Maven 作为依赖管理工具&#xff0c;只需要添加对应的…

PCL 视图变换(OpenGL)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在OpenGL中存在这样一个过程,即模拟人类看东西的过程,通过一种视图变换方式将物体置入观察空间内,以此让我们可以看到这个物体。这个过程有点类似于将一个照相机移到了模型前方的某个位置,然后再设置一下照相机…

【广州华锐互动】VR消防员模拟灭火:身临其境的火场救援

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐渗透到各个领域&#xff0c;为我们带来了前所未有的沉浸式体验。在这其中&#xff0c;VR模拟消防员灭火体验无疑是一种极具创新性和实用性的应用。通过这项技术&#xff0c;人们可以亲身体验到消…

RabbitMQ原理(五):消费者的可靠性

文章目录 3.消费者的可靠性3.1.消费者确认机制3.2.失败重试机制3.3.失败处理策略3.4.业务幂等性3.4.1.唯一消息ID3.4.2.业务判断 3.5.兜底方案 3.消费者的可靠性 当RabbitMQ向消费者投递消息以后&#xff0c;需要知道消费者的处理状态如何。因为消息投递给消费者并不代表就一定…

STM32 invalid UTF-8 in comment 警告解决办法

这里写自定义目录标题 STM32 invalid UTF-8 in comment 警告解决办法问题描述解决办法 STM32 invalid UTF-8 in comment 警告解决办法 问题描述 …/…/libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x\stm32f10x.h(18): warning: invalid UTF-8 in comment [-Winvalid-utf8]…

正点原子嵌入式linux驱动开发——Linux PWM驱动

PWM是很常用到功能&#xff0c;可以通过PWM来控制电机速度&#xff0c;也可以使用PWM来控制LCD的背光亮度。本章就来学习一下如何在Linux下进行PWM驱动开发。 PWM驱动解析 不在介绍PWM是什么了&#xff0c;直接进入使用。 给LCD的背光引脚输入一个PWM信号&#xff0c;这样就…

Node编写更新用户信息接口

目录 前言 定义路由和处理函数 验证表单数据 实现更新用户基本信息的功能 前言 继前面几篇文章&#xff0c;本文介绍如何编写更新用户信息接口 定义路由和处理函数 路由 // 更新用户信息接口 router.post(/userinfo, userinfo_handler.updateUserinfo) 处理函数 // 导…

Netty实战-实现自己的通讯框架

通信框架功能设计 功能描述 通信框架承载了业务内部各模块之间的消息交互和服务调用&#xff0c;它的主要功能如下&#xff1a; 基于 Netty 的 NIO 通信框架&#xff0c;提供高性能的异步通信能力&#xff1b;提供消息的编解码框架&#xff0c;可以实现 POJO 的序列化和反序…

Kmeans算法实现目标客户聚类分析

文章目录 一、Kmeans简介二、数据集描述三、实现方法一、Kmeans简介 Kmeans是聚类算法中较为简单的一种,简单但实用,有如下优势和缺点: 优势 算法简单,便于使用(算法仅需要考虑一个分类数量K即可) 适合常规数据集(最好是线性可分的数据集) 适合 不适合 缺点 K值难以确…