8.Jetson AGX Orin Ubuntu20.04 gRPC编译安装

Jetson AGX Orin Ubuntu20.04 gRPC编译安装

一、CMake版本检查

grpc编译cmake要求最低版本为3.15。首先,cmake -version 查看当前cmake版本,如果低于3.15,按照以下步骤进行安装。

1.1 卸载已经安装的旧版的CMake
sudo apt-get autoremove cmake
1.2 下载最新版本CMake

CMake下载地址,CMake当前最新版本为3.25.2.因为本人系统是arm架构,所以选择 linux aarch64,请按照自己的需求选择下载。

在这里插入图片描述

1.3 解压

将下载后的文件拷贝到自己的虚拟机或者云服务器的任意目录。再进行解压

tar -zxf cmake-3.25.2-linux-aarch64.tar.gz
1.4 创建软链接

注: 文件路径是可以指定的, 一般选择在/opt 或 /usr 路径下, 这里选择/opt

sudo mv cmake-3.25.2-linux-aarch64   /opt/cmake-3.25.2
sudo ln -sf /opt/cmake-3.25.2/bin/*  /usr/bin/
1.5 测试

使用 cmake -version 命令查看cmake是否可以正常使用。

在这里插入图片描述

二、gcc版本检查

gcc版本最低要求6.3

使用gcc -v 查看gcc当前版本,如果gcc/g++ 版本低于7.0,按照如下步骤进行升级安装;如果已经是高于7.0 则不需要再次安装。

2.1 安装
sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install g++-7 -y
2.2 创建软连接并检查
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \--slave /usr/bin/g++ g++ /usr/bin/g++-7 
sudo update-alternatives --config gcc
gcc -v
g++ -v

三、grpc下载

3.1 源码下载
#github下载 ,由于国内访问会出现time out,可以从gitee下载 
git clone  https://github.com/grpc/grpc
#-b 分支 ,v1.28.0 版本, --recursive 下载该目录下所有子模块。
git clone -b v1.28.0 --recursive https://gitee.com/mirrors/grpc.git
3.2 下载第三方依赖库
git submodule update --init
3.3 编译安装
mkdir -p build
cd build
cmake ..
make
sudo make install

四、protobuf安装

不用手动安装protobuf,不然版本可能和grcp不匹配,必须在 grpc 执行 git submodule update --init 命令之后生成的 third_party/protobuf 里面编译安装对应的 protobuf。

cd third_party/protobuf/
./autogen.sh 
./configure --prefix=/usr/local
make -j2sudo make install
sudo ldconfig  # 使得新安装的动态库能被加载
protoc --version   ## 显示对应protobuf的版本号

在这里插入图片描述
grpc的验证在下一个文章 。10.Jetson AGX Orin protobuf验证

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

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

相关文章

【408直通车】C+Python赋能数据结构:从底层原理到高级应用的蜕变之路——线性表

本专栏旨在通过使用C语言和Python分别实现各种考研常见数据结构,从底层原理和应用两个角度深入探索数据结构。通过深入理解数据结构的底层原理和掌握Python的高级特性,读者将能够全面掌握数据结构的知识,并且学会如何在实际应用中灵活运用。 …

vue-seamless-scroll 某些点击不生效

问题描述: 使用了vue-seamless-scroll,里面嵌套了ul li ,对li进行遍历,实现一个滚动列表的效果,对每一个li加了test点击事件,每次点击一行li时,都会触发点击事件,但是接口返回的前三…

在Python中如何进行错误日志记录? —— Python错误日志记录:捕捉与分析运行时问题

在Python中进行错误日志记录可以使用内置的logging模块。以下是使用logging模块进行错误日志记录的基本步骤: 导入logging模块:import logging 配置日志记录器:创建一个logger对象,并设置日志级别。日志级别有DEBUG、INFO、WARNI…

在Jetpack Compose中优雅的使用防抖、节流

写在前面 本文中提及的use开头的函数,都出自与我的 ComposeHooks 项目,它提供了一系列 React Hooks 风格的状态封装函数,可以帮你更好的使用 Compose,无需关系复杂的状态管理,专心于业务与UI组件。 这是系列文章的第…

c++学习笔记3,继承

一个类可以继承一个或多个类,这个类叫派生类,被继承的叫基类 class A{ }; class B{ }; class C{ }; class myclass :private A,protect B,public C//继承方式 类,多继承时之间用逗号间隔 { }继承方式决定对基类成员的访问权限&am…

网工交换技术基础——VLAN原理

1、VLAN的概念: VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。 2、VLAN的主要作用&#xf…

假期必备!一款超级强大的视频终端下载工具,简洁又强大,24.5K star【文末送福利】

马上要五一了,假期想必少不了娱乐看电影电视剧,之前介绍了 Gopeed 这个支持全平台的下载神器。 今天再给大家介绍一个超级棒的命令行下载神器项目:Lux。 项目简介 Lux是一款用 Go 语言开发的视频下载库和 ClI 工具,拥有简洁的命…

c#使用OleDb库更改Access数据库的密码

技术要点 流程 使用OleDbConnection对象连接数据库。使用OleDbCommand对象执行修改数据库密码的操作。 技术要点 注意使用OleDbConnection对象时,需要使用独占方式打开,使用此种方式打开,才能够修改数据库的密码,方式为在连接…

【已解决】CondaError: Downloaded bytes did not match Content-Length

😎 作者介绍:我是程序员行者孙,一个热爱分享技术的制能工人。计算机本硕,人工制能研究生。公众号:AI Sun,视频号:AI-行者Sun 🎈 本文专栏:本文收录于《AI实战中的各种bug…

SNMP-详解指南

目录 SNMP介绍 SNMP的工作机制轮询 SNMP的MIB(管理信息库) SNMP是基于UDP协议 SNMP介绍 SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛应用于互联网上的网络管理协议。它提供了一种标准化…

springboot 人大金仓 kingbase-备份还原,命令中带密码,支持window和linux

命令带密码参考 Java代码实现国产人大金仓数据库备份还原需求-CSDN博客文章浏览阅读818次,点赞16次,收藏12次。本人在一次项目中,遇到了需要在系统管理中提供给用户备份还原系统数据的功能,由于项目特殊性,项目底层数…

vue实现文字转语音的组件,class类封装,实现项目介绍文字播放(2024-04-17)

1、项目界面截图 2、封装class类方法(实例化调用) // 语音播报的函数 export default class SpeakVoice {constructor(vm, config) {let that thisthat._vm vmthat.config {text: 春江潮水连海平,海上明月共潮生。滟滟随波千万里&#xf…

微信小程序前端获取OpenID和session_key

微信小程序前端获取OpenID和session_key code2Session: https://api.weixin.qq.com/sns/jscode2session?appidAPPID&secretSECRET&js_codeJSCODE&grant_typeauthorization_code wx.login({success: (res) > {console.log(res.code) //拿到codeuni.request({u…

docker搭建Medusa

Medusa 是一个为 Apache Cassandra 和 Scylla 数据库设计的数据备份工具,它支持多种存储后端,包括本地存储和云存储服务,如 Google Cloud Storage 和 Amazon S3。Medusa 使得数据库备份和恢复过程更加灵活和可靠。 功能介绍 高性能备份&…

开展在即!中银富登邀您共赴雄安2024数字城市展览会(雄安建博会)

中银富登村镇银行:雄安新区金融创新的领航者 在即将举办的2024雄安数字城市建设展览会上,中银富登村镇银行将以其在金融创新和普惠金融服务领域的卓越表现,成为展会的一大亮点。作为雄安新区首家全国性银行业金融机构总部,中银富…

DolphinScheduler 调度工作流报错 Host key verification failed.

文章目录 出现问题错误原因及解决方法1.SSH 免密登录配置失败、失效2.不存在该租户 建议 出现问题 在执行调度任务时,失败了,查看日志发现错误 —— Host key verification failed. 错误原因及解决方法 1.SSH 免密登录配置失败、失效 这种情况就检查…

请求的数据类型{ }{[ ]} 解析

一、案例区别 1.1源码 var saveInBrowserDeviceInfoStr localStorage.getItem(SaveInBrowserDeviceInfo); var saveInBrowserDeviceInfo;if (saveInBrowserDeviceInfoStr) {console.log(存放在浏览器的设备信息(字符串): saveInBrowserDe…

黄仁勋最新访谈:GPU性能的革命性提升与AI未来

近期,英伟达CEO黄仁勋与美国CNBC知名主持人、股评人吉姆克莱默(Jim Cramer)在《Mad Money》节目中展开了一场关于技术未来和人工智能的对话。访谈里,黄仁勋不仅提到了英伟达在过去八年中将AI算力性能提高1000倍,还预言…

程序中调用DB存储过程记得异常处理时尝试回滚可能存在的事务

程序中调用DB过程要注意这种情况: 有些存储过程需要执行比较久,在数据库中直接跑本身没有出错,但从程序中调用该存储过程会由于超时进入程序异常处理,这时数据库后台依然在跑着该存储过程,如果该存储过程中有启用事务…

Linux:如何删除指定时间之前修改的文件

1、与文件有关的时间 在说明如何删除符合这种要求的文件之前,先来看看与文件有关的有哪些时间 简名全名中文名含义atimeaccess time访问时间文件中的数据最后被访问的时间mtimemodify time修改时间文件中的数据最后被修改的时间ctime change time变化时间文件的元…