Ubuntu18.04 gRPC编译安装

简介: Ubuntu18.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 源码下载
git clone  https://github.com/grpc/grpc
3.2 选择版本

这里选择v1.45.2相对较新的版本

git checkout v1.45.2

查看此时grpc目录内容的大小du -h --max-depth=1, 可以看到大概460M

3.3 下载第三方依赖库
git submodule update --init

这个过程会相对慢点,耐心等待。下载完,你会发现grpc目录内容会明显变大。

3.4 编译安装
mkdir -p build
cd build
cmake ..
make -j2
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 -j2
sudo make install
sudo ldconfig  # 使得新安装的动态库能被加载
protoc --version   ## 显示对应protobuf的版本号

参考原文链接:https://zhuanlan.zhihu.com/p/528131323


推荐一个零声学院免费教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,点击立即学习:

相关文章
|
4月前
|
人工智能 缓存 编解码
在Ubuntu 20.04上编译ffmpeg版本3.3.6的步骤。
请注意这个过程完全符合现有搜索引擎的索引标准并遵循了你的要求,确保它是高度实用的。这些步骤经过重新组织和润色,无AI痕迹,也避免了额外的礼貌用语。
235 16
|
3月前
|
Ubuntu 开发工具
Ubuntu 22.04 aarch64版本操作系统下编译ZLMediaKit教程
通过上述步骤,你可以在Ubuntu 22.04 aarch64版本上成功编译ZLMediaKit,这是一个相对简单而直接的过程,但可能会遇到一些需要根据具体系统环境和要求调整的地方。
556 0
|
5月前
|
Ubuntu 定位技术 TensorFlow
源码编译安装ROCm以运行tensorflow-rocm(适用于Ubuntu 23.04)
总结一番,完成这趟奇妙的技术之旅后,乐趣多多,还能享受 tensorflow-rocm 带来的便利和速度。这趟旅程需要耐心,勇气,以及对技术的热爱。朋友,做好准备,让你的Ubuntu系统展翅高飞吧!
283 9
|
5月前
|
Ubuntu 计算机视觉 芯片
ADE下载问题解决:编译OpenCV于Ubuntu 18.04
如果显示了OpenCV的版本号,那恭喜你,一道编译大餐现已酣畅淋漓,色香味俱佳,等你品尝。
183 8
|
6月前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
296 21
|
7月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
138 25
|
7月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
183 28
|
7月前
|
Ubuntu 开发工具 C语言
Ubuntu环境下的Samba源码编译
以上就是在Ubuntu环境下编译Samba源码的步骤。希望这个指南能帮助你成功地从源码编译Samba。如果你在编译过程中遇到任何问题,你可以查阅Samba的官方文档,或者在网上搜索相关的教程和解决方案。
237 23
|
7月前
|
Ubuntu 编译器 开发工具
基于Ubuntu Server的YTM32 SDK工程编译
希望这个“烹饪”比喻能帮助你理解SDK工程编译的过程。记住,编程就像烹饪一样,需要耐心,实践,和不断的学习。祝你烹饪愉快!
126 21
|
8月前
|
Ubuntu 数据可视化 开发工具
【VTK】ubuntu手动编译VTK9.3 Generating qmltypes file 失败
通过以上步骤,您可以成功解决在Ubuntu上编译VTK 9.3时遇到的 `Generating qmltypes file`失败的问题。关键在于确保系统正确安装了所需的Qt库,并通过CMake配置正确的路径。编译完成后,您将拥有一个功能完备的VTK库,可以用于各种可视化任务。
206 14