Ceph學(xué)習(xí)(1)編譯篇

前言:之前一直做ceph存儲管理平臺開發(fā)蔗彤,最近開始下沉孝扛。項(xiàng)目用的ceph是改造后打成的run包舀锨。那么開源的代碼是如何從源碼開始編譯-安裝-部署的呢蝇更?本文記錄了整個編譯過程沪编,不得不說,對不熟悉的大型開源項(xiàng)目來說年扩,一個干凈的環(huán)境是多么重要蚁廓,都是淚。在一臺物理機(jī)上裝厨幻,疲于解決各種環(huán)境依賴的我纳令,在機(jī)器被征用做壓力測試后挽荠,終于佛了。好在我有一個天賜的老大平绩,這個時候分給我一臺空閑的物理機(jī)圈匆,OMG,立刻馬上裝了一個虛擬機(jī)捏雌,配置了代理跃赚,走起。

1.獲取源碼

首先當(dāng)然是獲取源碼性湿,這里可以選定版本進(jìn)行克隆纬傲,我選的是14.2.9,也就是N版肤频,放置在single目錄下

git clone -b v14.2.9 --single-branch https://github.com/ceph/ceph.git single

2.安裝依賴

社區(qū)很貼心的提供了腳本

sh install-deps.sh

3.CMAKE

因?yàn)楦甙姹綜eph都是采用cmake來管理的叹括,所以do_cmake走起

./do_cmake.sh

哈哈,報錯開始了


看了下報錯信息宵荒,原來是gcc版本太低了汁雷,需要使用gcc 7+,OK报咳,那就升級gcc唄侠讯。通過查閱資料【1】,原來高版本的gcc是通過SCLo庫裝的暑刃,這個SCLo就是比epel更豐富的軟件包集合厢漩。即需要安裝devtoolset,而它和常規(guī)軟件不太一樣岩臣,是裝在opt下面的溜嗜。好嘞,那就開始裝devtoolset工具吧

yum install -y centos-release-scl

yum install -y devtoolset-7

scl enable devtoolset-7 bash

執(zhí)行完scl enable devtoolset-7 bash或source /opt/rh/devtoolset-7/enable再gcc --verion架谎,就可以看到版本使用的已經(jīng)是高版本gcc了炸宵。是的,你想的沒錯狐树,重啟一個session這個gcc版本又恢復(fù)默認(rèn)的低版本了,所以啟動高版本gcc就要每次都enable一下鸿脓。

好啦抑钟,gcc升上去了,繼續(xù)do_cmake吧

./do_cmake.sh


do_cmake完成野哭,我們構(gòu)建了一個帶debug的版本在塔,當(dāng)然因?yàn)槭莿傞_始學(xué)習(xí)嘛,都用默認(rèn)好了拨黔。

4.編譯

上一步執(zhí)行完蛔溃,會生成一個build目錄,我們進(jìn)入build開始make(一大波報錯即將襲來)

cd build/

make

(1)遇到pthread錯誤

/root/single/build/CMakeFiles/CMakeError.log日志中看到,一大波未定義的引用贺待,unbelievable徽曲,why?

難道是因?yàn)橹形绯粤藗€飯麸塞,session重開導(dǎo)致gcc版本用的不對了秃臣?

果不其然,好吧哪工,enable一下奥此,再來

scl enable devtoolset-7 bash

make

(2)遇到has no member named ‘merge’的問題

下一個報錯如約而至...

根據(jù)https://tracker.ceph.com/issues/19271所說,可能是linux內(nèi)核導(dǎo)致

./run-make-check.sh

呦吼雁比,自己開始cmake了稚虎?好的,那重來一次吧

rm -rf build/

./run-make-check.sh

然后發(fā)現(xiàn)偎捎,它編譯了起來蠢终,好的吧,先等等看

(3)缺libasan

https://stackoverflow.com/questions/38176407/cannot-find-lasan-and-libasan-preinit-o

https://bugzilla.redhat.com/show_bug.cgi?id=1303766

根據(jù)上述回答鸭限,看樣子是缺libasan這個庫蜕径,裝裝裝

yum install devtoolset-7-libasan-devel

繼續(xù),編譯走起

cd build

make -j8

libasam已經(jīng)裝了呀,why败京?好吧兜喻,沒有source /opt/rh/devtoolset-7/enable,所以沒找到赡麦,行吧朴皆。

source /opt/rh/devtoolset-7/enable

make

卡點(diǎn)編譯完成的我得意的蹦迪

終于make好了,撒花~~

為什么要走一下源碼編譯的流程呢泛粹?readme是這樣寫的:

Note that these instructions are meant for developers who are compiling the code for development and testing. To build binaries suitable for installation we recommend you build deb or rpm packages, or refer to the`ceph.spec.in` or `debian/rules` to see which configuration options arespecified for production builds.

可見編譯步驟走一遍是必要的遂铡,源碼可以玩起來了。

接下去make install就可以安裝了

參考:

【1】https://www.cnblogs.com/hugetong/p/8303160.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晶姊,一起剝皮案震驚了整個濱河市扒接,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌们衙,老刑警劉巖钾怔,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蒙挑,居然都是意外死亡宗侦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門忆蚀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矾利,“玉大人姑裂,你說我怎么就攤上這事∧衅欤” “怎么了舶斧?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剑肯。 經(jīng)常有香客問我捧毛,道長,這世上最難降的妖魔是什么让网? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任呀忧,我火速辦了婚禮,結(jié)果婚禮上溃睹,老公的妹妹穿的比我還像新娘而账。我一直安慰自己,他們只是感情好因篇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布泞辐。 她就那樣靜靜地躺著,像睡著了一般竞滓。 火紅的嫁衣襯著肌膚如雪咐吼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天商佑,我揣著相機(jī)與錄音锯茄,去河邊找鬼。 笑死茶没,一個胖子當(dāng)著我的面吹牛肌幽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抓半,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼喂急,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了笛求?” 一聲冷哼從身側(cè)響起廊移,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎探入,沒想到半個月后狡孔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡新症,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年步氏,在試婚紗的時候發(fā)現(xiàn)自己被綠了响禽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徒爹。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡荚醒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隆嗅,到底是詐尸還是另有隱情界阁,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布胖喳,位于F島的核電站泡躯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏丽焊。R本人自食惡果不足惜较剃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望技健。 院中可真熱鬧写穴,春花似錦、人聲如沸雌贱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欣孤。三九已至馋没,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間降传,已是汗流浹背篷朵。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搬瑰,地道東北人款票。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像泽论,于是被迫代替她去往敵國和親艾少。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容