源碼編譯适合于有豐富開發經驗的使用者,編譯過程中需要下載下傳依賴庫,請保持網絡暢通。
受網絡和機器配置影響,編譯用時5-20分鐘不等。
請務必保證機器能夠通路githubusercontent.com,否則可能會因為網絡不通阻塞編譯!
FSICO-BCOS使用通用CMake建構系統生成特定平台的建構檔案,這意味着無論您使用什麼作業系統工作流都非常相似:
從代碼倉庫克隆代碼。
預設使用github連結FISCO BCOS
若出現網絡問題導緻長時間拉取代碼失敗,可使用gitee連接配接FISCO-BCOS
安裝建構工具和依賴包(依賴于平台)。
運作<code>cmake</code>生成建構檔案并編譯。

推薦Ubuntu 16.04以上版本,源碼編譯時需要先安裝gcc等工具。
若無法下載下傳,則可以先更新一下源
推薦使用Ubuntu 18.04以上版本。
編譯完成後二進制檔案位于<code>FISCO-BCOS/build/bin/fisco-bcos</code>。
注解
如果因為網絡問題導緻長時間無法下載下傳依賴庫,請嘗試從 https://gitee.com/FISCO-BCOS/LargeFiles/tree/master/libs 下載下傳,放在FISCO-BCOS/deps/src/
如果編譯過程中長時間沒有相應,一般是不能通路githubusercontent.com導緻依賴無法下載下傳,請使用代理或修改hosts使得機器能夠通路githubusercontent.com
TESTS,預設off,單元測試編譯開關。通過<code>cmake -DTESTS=on ..</code>打開單元測試開關。
DEMO,預設off,測試程式編譯開關。通過<code>cmake -DDEMO=on ..</code>打開單元測試開關。
TOOL,預設off,工具程式編譯開關。通過<code>cmake -DTOOL=on ..</code>打開工具開關,提供FISCO節點的rocksdb讀取工具。
ARCH_NATIVE,預設off,編譯時根據本地CPU指令優化以獲得更好的性能,在ARM架構上編譯可以使用此選項。GCC9以上版本編譯暫未适配完成,可以通過打開此編譯選項避過問題,完成編譯。
BUILD_STATIC,預設off,靜态編譯開關,隻支援Ubuntu。通過<code>cmake -DBUILD_STATIC=on ..</code>打開靜态編譯開關。
CMAKE_BUILD_TYPE,預設RelWithDebInfo,編譯類型,如要編譯Release版本,通過<code>cmake -DCMAKE_BUILD_TYPE=Release ..</code>設定
DEBUG,預設off,調試模式,編譯後會列印将要送出的資料,性能大幅降低,僅用于開發查問題。
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/compile.html?highlight=%E6%BA%90%E7%A0%81#fisco-bcos
問題
修改<code>/etc/hosts</code>檔案,添加如下内容可加速依賴包的下載下傳:
以上域名對應的ip可能會有變更,若在/etc/hosts中加了以上内容後,源碼編譯仍然很慢,請使用域名查詢工具查詢并更新這些域名對應的IP
若先前有一套編譯完成的環境,可從原先環境的<code>deps/src</code>目錄下拷貝已經下載下傳好的依賴包到目前正在編譯項目的<code>deps/src</code>目錄下
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/compile.html?highlight=%E6%BA%90%E7%A0%81#case1