安裝bazel(syntaxnet依賴工具)


1.簡介  

     Bazel是一個類似於Make的工具,是Google為其內部軟件開發的特點量身定制的工具,如今Google使用它來構建內部大多數的軟件。它的功能有諸多亮點:

  • 多語言支持:目前Bazel默認支持Java、Objective-C和C++,但可以被擴展到其他任何變成語言。
  • 高級構建描述語言:項目是使用一種叫BUILD的語言來描述的,它是一種簡潔的文本語言,它把一個項目視為一個集合,這個集合由一些互相關聯的庫、二進制文件和測試用例組成。相反,像Make這樣的工具,需要去描述每個文件如何調用編譯器。
  • 多平台支持:同一套工具和相同的BUILD文件可以用來為不同的體系結構構建軟件,甚至是不同的平台。在Google,Bazel被同時用在數據中心系統中的服務器應用和手機端的移動應用上。
  • 可重復性:在BUILD文件中,每個庫、測試用例和二進制文件都需要明確指定它們的依賴關系。當一個源碼文件被修改時,Bazel憑這些依賴來判斷哪些部分需要重新構建,以及哪些任務可以並行進行。這意味着所有構建都是增量的,並且相同構建總是產生一樣的結果。
  • 可伸縮性:Bazel可以處理大型項目;在Google,一個服務器軟件有十萬行代碼是很常見的,在什么都不改的前提下重新構建這樣一個項目,大概只需要200毫秒。

      對於為什么要重新發明一個構建工具而不直接使用Make,Google認為Make控制得太細,最終的結果完全依靠開發人員能正確編寫規則。很久以前,Google使用自動生成的臃腫的Makefile來構建他們的軟件,速度太慢,結果不可靠,最終影響了研發人員的效率和公司的敏捷性。所以他們做了Bazel。Bazel的規則層次更高,比如,對於“Java測試”、“C++二進制文件”,它都有定義好的內建規則,而這些規則都已經被無數的測試證明是正確和穩定的。

2.安裝

(1) 安裝JDK 8

***如果環境是Ubuntu15.10,跳過此步驟。但在Ubuntu14.04,執行此步驟,安裝Oracle JDK 8.***

***如果沒有安裝add-apt-repository命令,需要執行sudo apt-get install software-properties-common命令***

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

(2) 添加bazel包源

$ echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

***如果沒有安裝curl需要執行命令:sudo apt-get install curl ***

$ curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add -

(3) 更新安裝bazel

$ sudo apt-get update && sudo apt-get install bazel
$ sudo apt-get upgrade bazel

 ***執行最后一步 $ sudo apt-get upgrade bazel,出現錯誤 E: Sub-process /usr/bin/dpkg returned an error code (1)***

解決方法:

sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak //現將info文件夾更名

sudo mkdir /var/lib/dpkg/info //再新建一個新的info文件夾
sudo apt-get update

sudo apt-get -f install bazel

sudo apt-get upgrade bazel 

sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bak

sudo rm -rf /var/lib/dpkg/info //把自己新建的info文件夾刪掉

sudo mv /var/lib/dpkg/info.bak /var/lib/dpkg/info //把以前的info文件夾重新改回名字

      至此,已安裝成功bazel~~~

參考:https://www.bazel.io/versions/master/docs/install.html#ubuntu

        http://blog.csdn.net/u010510350/article/details/52247972

        http://blog.sina.com.cn/s/blog_15856a0240102x7jv.html

        http://blog.csdn.net/yusiguyuan/article/details/24269129

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM