1. 程式人生 > >Mac安裝protobuf 流程

Mac安裝protobuf 流程

1.brew安裝protobuf

1.安裝brew

ruby -e "$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.使用brew安裝protoc

brew install protobuf

但是這安裝的是最新版的

lcc@lcc ~$ protoc --version
libprotoc 3.6.0

1.1 安裝指定版本

如果想安裝指定版本該怎麼辦?

[email protected] ~$ brew uninstall protobuf
Uninstalling /usr/local/Cellar/protobuf/3.6
.0... (256 files, 17.2MB) [email protected] ~$ protoc --version -bash: /usr/local/bin/protoc: No such file or directory

檢視版本

lcc@lcc ~$ brew search protobuf
2018-07-14 15:32:00.305 defaults[13089:149521]
The domain/default pair of (kCFPreferencesAnyApplication, AppleLanguages) does not exist
==> Formulae
protobuf ✔ protobuf-c protobuf-swift protobuf@2.5 protobuf@2.6 protobuf@3.1 swift-protobuf

安裝指定版本

[email protected] ~$ brew reinstall [email protected]2.5
==> Reinstalling [email protected]
2.5 ==> Downloading https://homebrew.bintray.com/bottles/[email protected]_sierra.bottle.tar.gz Already downloaded: /Users/lcc/Library/Caches/Homebrew/[email protected]2.5-2.5.0.high_sierra.bottle.tar.gz ==> Pouring [email protected]2.5-2.5.0.high_sierra.bottle.tar.gz ==> Caveats Editor support and examples have been installed to: /usr/local/opt/[email protected]2.5/share/doc/[email protected]2.5 This formula is keg-only, which means it was not symlinked into /usr/local, because this is an alternate version of another formula. If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile For compilers to find this software you may need to set: LDFLAGS: -L/usr/local/opt/[email protected]2.5/lib CPPFLAGS: -I/usr/local/opt/[email protected]2.5/include ==> Summary ? /usr/local/Cellar/[email protected]2.5/2.5.0: 79 files, 5.4MB [email protected] ~$ protoc --version -bash: /usr/local/bin/protoc: No such file or directory

如果您已經嘗試從源安裝協議緩衝區版本,則可以在終端中鍵入以下內容以使原始碼被自制軟體版本覆蓋:

[email protected] ~$ brew link --force --overwrite [email protected]2.5
Linking /usr/local/Cellar/[email protected]2.5/2.5.0... 14 symlinks created

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
[email protected] ~$ protoc --version
libprotoc 2.5.0
[email protected] ~$

2.編譯安裝

2.1 下載

https://github.com/google/protobuf/releases 找到對應版本下載

2.2 生成配置檔案

下載自github的程式碼需要首先執行 $ ./autogen.sh 生成configure檔案
注意autogen.sh 需要gtest包,預設是從 googletest.googlecode.com下載,國內需要翻牆才能訪問,

cd protobuf
./autogen.sh

問題1
我執行這一步的時候總是報錯

lcc@lcc protobuf-2.7.0$ ./autogen.sh
Google Mock not present.  Fetching gmock-1.7.0 from the web...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:01:15 --:--:--     0curl: (7) Failed to connect to googlemock.googlecode.com port 443: Operation timed out

翻牆都不行,最終用第一種方法安裝成功

echo "Google Test not present.  Fetching gtest-1.5.0 from the web..."
 curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
 mv gtest-1.5.0 gtest

修改為:

wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
tar xzvf release-1.5.0.tar.gz
mv googletest-release-1.5.0 gtest

再次執行

[email protected] protobuf-2.5.0$ ./autogen.sh
--2018-07-16 09:50:05--  https://github.com/google/googletest/archive/release-1.5.0.tar.gz
正在解析主機 github.com (github.com)... 52.74.223.119, 13.250.177.223, 13.229.188.59
正在連線 github.com (github.com)|52.74.223.119|:443... 已連線。
已發出 HTTP 請求,正在等待迴應... 302 Found
位置:https://codeload.github.com/google/googletest/tar.gz/release-1.5.0 [跟隨至新的 URL]
--2018-07-16 09:50:07--  https://codeload.github.com/google/googletest/tar.gz/release-1.5.0
正在解析主機 codeload.github.com (codeload.github.com)... 13.229.189.0, 54.251.140.56, 13.250.162.133
正在連線 codeload.github.com (codeload.github.com)|13.229.189.0|:443... 已連線。
已發出 HTTP 請求,正在等待迴應... 200 OK
長度:未指定 [application/x-gzip]
正在儲存至: “release-1.5.0.tar.gz”

release-1.5.0.tar.gz                                    [                   <=>                                                                                            ] 412.67K  48.2KB/s  用時 8.6s

2018-07-16 09:50:19 (48.2 KB/s) - “release-1.5.0.tar.gz” 已儲存 [422578]

x googletest-release-1.5.0/
x googletest-release-1.5.0/CHANGES

+ autoreconf -f -i -Wall,no-obsolete
./autogen.sh: line 41: autoreconf: command not found

問題2:autoreconf: command not found

解決

lcc@lcc protobuf-2.5.0$ brew install autoconf
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.high_sierra.bottle.4.tar.gz
######################################################################## 100.0%
==> Pouring autoconf-2.69.high_sierra.bottle.4.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/autoconf
==> Summary
?  /usr/local/Cellar/autoconf/2.69: 71 files, 3.0MB

再次執行報錯:

[email protected] protobuf-2.5.0$ ./autogen.sh
+ sed -i -e 's/RuntimeLibrary="5"/RuntimeLibrary="3"/g;
           s/RuntimeLibrary="4"/RuntimeLibrary="2"/g;' gtest/msvc/gtest-md.vcproj gtest/msvc/gtest.vcproj gtest/msvc/gtest_main-md.vcproj gtest/msvc/gtest_main.vcproj gtest/msvc/gtest_prod_test-md.vcproj gtest/msvc/gtest_prod_test.vcproj gtest/msvc/gtest_unittest-md.vcproj gtest/msvc/gtest_unittest.vcproj
+ autoreconf -f -i -Wall,no-obsolete
Can't exec "aclocal": No such file or directory at /usr/local/Cellar/autoconf/2.69/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory
[email protected] protobuf-2.5.0$

未成功

2.3 配置

./configure
make

安裝

make install

檢視

protoc --version

Points

./autogen.sh是獲取GoogleMock,並生成對應的configure指令碼
./configure是進行環境檢測,並生成對應的makefile或Makefile  --prefix=/usr/local可以指定安裝路徑
make,按照makefile編譯工程
make install,執行makefile裡面的install部分,進行安裝       --prefix=/usr/local可以指定安裝路徑

相關推薦

Mac安裝protobuf 流程

1.brew安裝protobuf 1.安裝brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.使用brew安

mac 安裝protobuf 2.5.0

下載安裝包 目前protobuf的最新版本是3.9.1,但是hadoop等好多框架依然依賴的是2.5.0,因此,最好不要安裝最

mac安裝Protobuf

ebo target tar www. ref margin lob fan md4 o每C歡40趟a崖4whttp://www.docin.com/hun016 7g導翟貝彜崖改0比2euhttp://www.facebolw.com/space/2104988/foll

mac編譯安裝protobuf

1、在安裝protobuf之前需要先安裝git、make、automake等工具,安裝方法請參考:https://blog.csdn.net/sunxiaoju/article/details/85217424 2、在安裝好protobuf後需要安裝protobuf,依賴庫,首先使用:git

mac 安裝ngnix

常用 home pac -c lena ngnix 成功 clas itl 1、brew search nginx 2、brew install nginx 啟動nginx ,sudo nginx ;訪問localhost:8080 發現已出現nginx的歡迎頁面了。備註:

mac 安裝 office

off mac 安裝 ffi 打開 工具 默認 sta 鑰匙 即使 1.下載word2016,可以網上搜一下,很多資源 當然這裏將我用的版本提供給你: 鏈接: https://pan.baidu.com/s/1mix07lY 密碼: asgc 一直默認下一步進行安裝即可

Mac 安裝JRE 1.8

reac 但是 acl cnblogs 不能 生效 react color android版本 最近使用React Native,運行android版本時,需要jre 1.8,但是用oracle 的安裝文件安裝完畢後,在控制臺java -version輸出的還是 1.7版本

Mac 安裝redis

hdr chown tab 啟動服務 dbid logfile 情況 dump.rdb redis-cli 一.下載安裝 1. 官網http://redis.io/ 下載最新的穩定版本,這裏是3.2.0 2. sudu mv 到 /usr/local/ 3. sudo

mac安裝zbar

結果 pack 下載 date class pin 實驗 tar ruby 第一步: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo } span.s1 { } wget https://pypi.pyt

mac安裝mysql

rem pre code 使用 .net eip sdn blog item 開始下載 我選擇的是最後一個dmg格式的安裝包,點擊download,會出現讓我們註冊登陸的界面,點擊最下面的No thanks,just take me to downloads!直接進行下載

mac 安裝軟件提示權限不足的解決的方法

trac -m class data- art 能夠 dsm mac 安裝 data 假設直接輸入命令提示沒權限的時候 1.sudo 安裝命令 2.sudo su - 這時候切換到root用戶下了 ,能夠隨心所欲了 mac 安裝軟件

Visual Studio for Mac 安裝時無法連接到網絡等問題

mac lan image 超級 oop alt target noop 電信 問題: 1、下載 vs for mac 離線安裝包 離線下載地址https://download.microsoft.com/download/3/d/4/3d42f40f-4f0

Mac 安裝Bower

path 路徑 sudo width 默認 highlight 版本 環境變量 con 1、安裝bower,得首先安裝node:   1 brew install npm //npm是nodejs的程序包管理器,如果安裝過nodejs,可忽略此步。

TensorFlow入門:mac 安裝 TensorFlow

sse ssi 來安 pan lan bin pat ont world 開發環境: mac os 10.12.5 Python 2.7.10 GCC 4.2.1 mac默認是不帶pip的,安裝pip。 sudo easy_install pip 1.安裝vir

mac安裝多版本jdk(轉)

ots lib 官網下載 -s library acl pre 切換 edi 轉自 http://ningandjiao.iteye.com/blog/2045955?utm_source=tuicool&utm_medium=referral 1.首先安裝所有的J

Mac 安裝配置Mysql

nes text 裝配 tex alias markdown 什麽 又一 shu Mac下安裝配置Mysql By 白熊花田(http://blog.csdn.net/whiterbear) 轉載需註明出處,謝謝。 下載安裝 去官網下載Co

mac 安裝nginx

lena 是否 nginx -t tar 地址 幫助 usr tarball 配置 1、brew search nginx 2、brew install nginx 啟動nginx ,sudo nginx ;訪問localhost:8080 發現已出現nginx的歡迎頁面了

mac安裝caffe

在mac中安裝caffehttp://www.jianshu.com/p/cc16e2977e27http://blog.csdn.net/q1w2e3r4470/article/details/47000643http://blog.csdn.net/tracer9/article/details/5045

mac安裝phpstorm

一行 安裝 blog 安全 orm 垃圾桶 mage 實用工具 clas p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 24.0px; font: 14.0px Times; color: #003884 } p.

mac安裝OpenCV

python2 library 3.3 簡單 local 默認 pack 位置 拷貝 簡單粗暴 使用homebrew安裝brew install opencv //cv2 我安裝的brew install opencv3 //cv3 安裝包位置/Lib