grpc 编译

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lxb122435677/article/details/79467253
不说了,由于各种内网环境问题,无法正常翻墙,因此不能正常git clone github,所以在编译时遇到各种奇怪问题,特此记录。但是不得不说,只要环境没问题,google大人提供的源码以及源码包编译完全只需要几条简单的命令。
先说一下官网规范的安装命令:
1 ) git clone https://github.com/grpc/grpc.git
2)cd grpc
3)git submodule update –init
4)make & make install

上述如果网络可通(clone无障碍)情况,完全没有问题,亲测。如果有问题,可能是一些common依赖包没安装。

但是网络不通,就需要另辟路子了:
1)download grpc.tar.gz
2)make 不出意外,会报如下错误,由于我司安全规范的要求,不能截图只能大概写写错误原因:
Package libcares was not found in the pkg-config search path.
No package ‘libcares’ found.
报错很简单,系统缺少c-ares包。
但是系统中命名已经安装,而且也已经export PKG_CONFIG_PATH中包含libcares.pc。
该过程中也去学了学pkg-config管理安装包的原理,即pc文件中包含包的版本信息。

接下来就是解决该问题的漫漫之路,google一搜一堆,给出的答案无非两种:
a. grpc依赖公共的包,系统内安装缺少包。
b. git clone && git submodule update –init(github-grpc官网给出的答案)
So,无解了。系统中明明有包,但是你找不到,然后提示失败,恶心。
3) 接下来两种思路:
a.我直接把包copy至你原来该有的目录,然后make && make install —竟然成功了
b.弄清楚grpc引用公共包的路径设置———————————————–未测试
对于第一中方案具体步骤如下:
(1) 查看.gitmodules中cares的版本号
(2)将相应版本的cares copy至grpc/third_party/cares/cares路径下 —非常关键的一步
(3)./configure && make && make install
4)cd grpc && make && make install
注:缺少的包都可以按照3中步骤进行解决。
————————————————
版权声明:本文为CSDN博主「写到天黑的小白」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lxb122435677/article/details/79467253

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值