grpc 源碼安裝

不說了,由於各種內網環境問題,無法正常翻牆,因此不能正常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中步驟進行解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章