【Matter】基于Ubuntu 22.04 编译chip-tool工具

这篇具有很好参考价值的文章主要介绍了【Matter】基于Ubuntu 22.04 编译chip-tool工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

编译过程有点曲折,做下记录,过程中,有参考别人写的博客,也看github 官方介绍,终于跑通了~

环境说明:

  • 首先需要稳定的梯子,可以访问“外网”
  • ubuntu 环境,最终成功实验在Ubuntu 22.04,应该主要体现在python 库的版本要求

基础:
关于梯子,我使用的是虚拟机NAT方式上网,走的主机windows 网络代理(clash 软件)
关于工具,另外git submodule 需要熟悉一下,有些库在网络状况可以的情况下,依然拉不下来,需要手动更新。

官方

https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/chip_tool_guide.md

https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/BUILDING.md

编译

1.clone 代码

git clone https://github.com/project-chip/connectedhomeip.git

看到有人分享用的siliconlabs 库的matter仓库,也是可以的,暂时不确定区别是什么

2.更新子模块

git submodule update --init --recursive

注意,这里大概率会出现拉取代码有问题,需要手动更新,可以将缺失的目录手动删除掉,然后使用下面命令可以拉取代码

git submodule update

【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
比如编译时候提示找不到third_party/nlunit-test 文件,查看后发现文件夹内repo 目录是空的,手动删除掉,然后手动更新,通过find 命令查看文件,或者tree命令查看目录结构,验证文件成功下载

3.基本编译工具安装

sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev 
sudo apt-get install libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev 
sudo apt-get install python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev

sudo apt-get install libsdl2-dev

4.编译前准备

This script takes care of downloading GN, ninja, and setting up a Python environment with libraries used to build and test.

翻译过来就是会安装GN,和Python环境以及一些库,来编译。关于GN和python 的一些具体用法,后面再看下具体使用方法,这里很关键,成败有一半卡在这里,

source scripts/bootstrap.sh

下把正确的执行结果截图,如下:
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot

细节!!! 这里不能用ssh 连接,来执行,在这里卡了比较久,直到看到这篇博客,在此之前,之前,已经问人、找博客、设置了各种代理,ssh 直连ubuntu 代理不生效(一语点醒梦中人-_-!!,感谢!!!)。

https://blog.csdn.net/digdugbomb/article/details/114403362

这里展开说下,粗鄙的理解做个记录:
看到的CPID 主要是pigweed在用,也是个开源项目pigweed。
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot

所以,单独下载了代码,按照说明编译,也是报错的,打印信息都类似,看来是找对地方了,至少缩小范围。
遇到的问题,其实早在2020年已经有补丁了,推荐的办法是请点击,点击进去可以看到是修改了python 一段代码,关于使用代理下载,貌似是还有概率出现,要设置https代理为走http
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
关于代理设置我有点问题,因为我的clash 软件使用的是7890端口,ip 是10.10.122.96.我理解应该设置为
export https_proxy=http://10.10.122.96:7890

如果我设置成使用虚拟机ip方式https_proxy:=http://192.168.79.129:8080,是不应该是一样的??待确认,明确指导的还望指导

5.激活

source scripts/activate.sh

【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
6.编译
参照文档开始编译了
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot

【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
这里报错了,还搜索了半天,准备在线安装的,无济于事,想着目的是编译chip-tool 直接编译试一下吧,转而编译chip-tool,执行命令,

./scripts/examples/gn_build_example.sh examples/chip-tool out/standalone

提示这个nlassert 编译失败,原来是自己编译出来,其他地方调用的。
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
更新文件后
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
又重新编译,保险期间,执行了
···
source scripts/bootstrap.sh
source scripts/activates.sh
···
都编译通过,基本就没啥问题了
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
成功的最后几个瞬间:
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
【Matter】基于Ubuntu 22.04 编译chip-tool工具,Matter,SiliconLabs,ubuntu,linux,iot
问题点:
1.提示command pw not found
https://github.com/project-chip/connectedhomeip/issues/26141
2.不要ssh 直连梯子下载
https://blog.csdn.net/digdugbomb/article/details/114403362

有价值链接:
https://github.com/project-chip/connectedhomeip/issues/2893

总结

容易遇到的问题,应该比较全面了,避免折腾半天。
最容易忽略的应该就是避免ssh 连接虚拟机来操作,看了好多博客都没说到这一点。

综合理解:
首先要有梯子
其次子模块没有更新的话,手动删除,手动更新
CPID下载那里,时间过个五分钟左右不行,基本出问题了,再等久了也没用
在ubuntu 上控制台上操作文章来源地址https://www.toymoban.com/news/detail-608355.html

到了这里,关于【Matter】基于Ubuntu 22.04 编译chip-tool工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu22.04编译安装使用gstreamer指南

    ubuntu发行版22.04,该发行版内置Gstreamer1.20.1,gstreamer源码最新版本为1.20.3,差距不大 下载gstreamer源码 安装git 下载gstreamer 安装meson gstreamer1.60以后(不包含1.60),使用meson+ninja来构建 安装glib gstreamer是基于glib-gobject来实现的 安装libsoup 安装libunwind 安装libdw 安装g-ir-scanner 系统中

    2024年02月05日
    浏览(72)
  • Ubuntu 22.04 编译安装 Qt mysql驱动

    参考自 Ubuntu20.04.3 QT5.15.2 MySQL驱动编译 Ubuntu 18.04 编译安装 Qt mysql驱动 下边这篇博客不是主要参考的, 但是似乎解决了我的难题(找不到 libmysqlclient.so ) ubuntu18.04.2 LTS 系统关于Qt5.12.3 无法加载mysql驱动,需要重新编译MYSQL数据库驱动的问题以及解决方案 系统版本 MySQL 肯定要先安

    2024年01月16日
    浏览(61)
  • Ubuntu20.04与22.04 openssl与openssl编译安装

    操作系统openssl版本查看: 推荐根据操作系统默认版本下载对应修复版本 ubuntu20.04 openssl版本:OpenSSL 1.1.1f ubuntu22.04 openssl版本:OpenSSL 3.0.2 首先,使用 wget 命令下载 OpenSSL 的源代码压缩包。从 OpenSSL 官方网站上找到最新版本的源代码。 如下以ubuntu20.04示例: 解压源代码 使用

    2024年02月06日
    浏览(60)
  • 从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。 顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。 最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研

    2024年02月06日
    浏览(156)
  • Ubuntu22.04编译安装Mysql5.7.35

    新升级的ubuntu22.04版本,该版本默认openssl已经升级到3.0,所以编译过程遇到一些问题记录一下。 安装依赖 gcc g++已经安装过就不需要再安装了。 还有缺少其它依赖的相继安装就可以了。 编译openssl1.1.1 因为默认的openssl3.0,mysql执行cmake过程一直报错,所以手动下载openssl1.1.1编

    2024年02月11日
    浏览(38)
  • Openharmony3.2 源码编译(ubuntu 22.04) 过程记录

    OS: ubuntu 22.04 x64 1.1 安装码云repo工具 1.2 将repo添加到环境变量 1.3 获取源码 需有gitee.com 账号,同时设置好ssh 公钥登录(https://gitee.com/help/articles/4191#article-header0) 2.1 安装编译工具 2.2 将hb添加到环境变量 2.3 通过hb 选取板卡配置 解决方法: 2.4 编译 解决方法: 安装ninja 和 gn

    2024年02月08日
    浏览(49)
  • ubuntu22.04下rv1109 rootfs编译问题处理

    出于对Ubuntu新版本系统的体验,将系统更新到了ubuntu22.04了。然后在编译rv1109 sdk时出现了一些异常的错误。但是已经不回去了,只能硬着头皮一路走下去了。并将错误记录以下,以便下次有类似错误,做个参考。 buildroot 报错:c-stack.c:55:26:error:missing binary operator before token “

    2024年02月11日
    浏览(39)
  • OpenWRT LEDE在Ubuntu22.04 编译全过程记录

    注, feeds用法 查看更新的订阅源信息,index file feeds/packages.index 【问题1】m4 编译错误 解决,参考博文 【问题2】 freadahead 异常 解决,参考博文 注意 : 参考博文中的 _IO_IN_BAXKUP 应该为 _IO_IN_BACKUP ,否则会导致下述报错,此文为正确写法 【问题3】 bison-3.0.4 相关错误 解决,参考

    2024年02月12日
    浏览(110)
  • Ubuntu22.04 交叉编译gcc9.5 for arm

    环境:ubuntu22.04为刚刚安装,未安装gcc等包 vi ~/.bashrc输入 保存,reboot 安装: 将/opt/gmp-6.1.0/install/lib目录下所有库文件拷贝到gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib/, 然后执行 删除cc 然后安装一些库,要不然编译不过 然后执行 问题:Oops, mp_limb_t is 64 bits,

    2024年02月08日
    浏览(42)
  • Ubuntu22.04LTS编译Frida历史版本,环境配制及细节调整

    经常使用Frida的朋友们可能会遇到Frida的各种问题需要自定义的,而这时候Frida的本地编译就显得很重要了。 最近一位朋友发现使用Frida14/15/16版的server只能连拉一定数量的设备,超过了frida-device-manager便不能连接设备。 实现没有办法,我只好去修改源码,然后自己搭建编译环

    2024年02月19日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包