phxsql如何編譯?

微信開源的高可用強一致性的產品,phxsql編譯安裝步驟寫的有點草率,請大牛解決..


項目里有 build.sh 一鍵編譯腳本可破(前提是裝好了依賴,大概有 automake libtool curses readline zlib cmake 這些)

github wiki 上有兩篇文檔會有助於你了解編譯部署過程:

  • 中文詳細編譯手冊

  • 中文部署手冊

==========

BTW,使用 docker 的部署方式也即將會有( github 上已經可以看到有一個 Dockerfile 了,不過鏡像還沒放上 docker hub ),應該很快會添加一下這方面的文檔。


因項目需要調研PhxSQL,故自己動手編譯了一下,GitHub上有詳細的編譯的手冊,但是還是有不少細節,文檔中沒有寫到,現記錄如下,希望可以幫助到有需要的人。

1. 測試環境。
CentOS7-64位,安裝了Development Tools。配好yum源以後,不僅需要安裝編譯手冊上提到的幾個庫,還需要額外安裝readline-devel,zlib-devel這兩個rpm包,否則後面會出現找不到-lz的問題。
gcc:gcc-4.8.5

2. 離線獲取安裝文件。
因測試環境不能連接到互聯網,所以從GitHub上下載了.zip格式的離線安裝文件,gmock也需要離線的安裝文件。具體編譯方式官網文檔已經很詳細了。

3. 編譯

編譯的時候碰到一個問題:在編譯phxsql/phxbinlogsvr/framework/phxrpc/svr這個文件夾的時候,編譯不過去,居然報cannot find -lstdc++的錯誤,找了一整天沒明天,翻牆去Google第一條就解決問題:需要安裝libstdc++-static的rpm包,可以從網站:RPM Search上搜索下載。好像是因為編譯的時候使用了static方法。

(這裡太搞笑了,我用百度搜了一天搜不到,後來實在不行了用google搜,結果第一條就是來自百度經驗,就解決了。。。實在是。。。)

其他還挺順利的,官網有中文文檔。。太好了。。

更新:

部署的時候,記得先創建mysql用戶,然後用mysql用戶來進行部署。


推薦閱讀:

TAG:MySQL | 編程 | 分散式系統 | Paxos |