From 00c0bd6f3baa1e7bfa8697ab916e141cad9907d9 Mon Sep 17 00:00:00 2001 From: zhang_xubo <2578876417@qq.com> Date: Tue, 23 Feb 2021 19:56:38 +0800 Subject: [PATCH] add gcc compile note --- content/zh/post/xingchen/gcc_compile.md | 164 +++++++++++ .../zh/post/xingchen/images/compile/1.3.1.png | Bin 0 -> 9884 bytes .../zh/post/xingchen/images/compile/1.3.2.png | Bin 0 -> 44697 bytes .../zh/post/xingchen/images/compile/2.1.1.png | Bin 0 -> 5398 bytes .../zh/post/xingchen/images/compile/2.2.1.png | Bin 0 -> 5118 bytes .../zh/post/xingchen/images/compile/2.2.2.png | Bin 0 -> 14012 bytes .../zh/post/xingchen/images/compile/2.2.3.png | Bin 0 -> 21691 bytes .../zh/post/xingchen/images/compile/2.3.1.png | Bin 0 -> 10750 bytes .../zh/post/xingchen/images/compile/2.3.2.png | Bin 0 -> 2415 bytes .../post/xingchen/images/compile/gcc_conf.png | Bin 0 -> 6312 bytes .../post/xingchen/images/compile/gcc_mpp1.png | Bin 0 -> 8049 bytes .../post/xingchen/images/compile/gcc_mpp2.png | Bin 0 -> 9027 bytes content/zh/post/xingchen/opengauss_compile.md | 265 ++++++++++++++++++ 13 files changed, 429 insertions(+) create mode 100644 content/zh/post/xingchen/gcc_compile.md create mode 100644 content/zh/post/xingchen/images/compile/1.3.1.png create mode 100644 content/zh/post/xingchen/images/compile/1.3.2.png create mode 100644 content/zh/post/xingchen/images/compile/2.1.1.png create mode 100644 content/zh/post/xingchen/images/compile/2.2.1.png create mode 100644 content/zh/post/xingchen/images/compile/2.2.2.png create mode 100644 content/zh/post/xingchen/images/compile/2.2.3.png create mode 100644 content/zh/post/xingchen/images/compile/2.3.1.png create mode 100644 content/zh/post/xingchen/images/compile/2.3.2.png create mode 100644 content/zh/post/xingchen/images/compile/gcc_conf.png create mode 100644 content/zh/post/xingchen/images/compile/gcc_mpp1.png create mode 100644 content/zh/post/xingchen/images/compile/gcc_mpp2.png create mode 100644 content/zh/post/xingchen/opengauss_compile.md diff --git a/content/zh/post/xingchen/gcc_compile.md b/content/zh/post/xingchen/gcc_compile.md new file mode 100644 index 00000000..85994adb --- /dev/null +++ b/content/zh/post/xingchen/gcc_compile.md @@ -0,0 +1,164 @@ ++++ +title = "gcc编译指导" +date = "2021-02-23" +tags = ["gcc编译指导"] +archives = "2021-02-23" +author = "xingchen" +summary = "gcc编译指导" +img = "/zh/post/xingchen/title/img1.png" +times = "19:30" ++++ + +## 概述 + +openGauss的编译依赖gcc,目前官方推荐使用gcc7.3版本来编译。 但是三方库中未给出gcc的编译指导。本文档介绍如何编译gcc。 + + +## 步骤 + +以openEuler20.03 LTS系统,arm架构,gcc7.3版本为例 (其他版本的gcc也与此相同)。 +Gcc的编译依赖 `gmp` `isl` `mpc` `mpfr` ,需要先编译这四个库。 + +三方库依赖以及下载地址如下: + + + + + + + + + + + + + + + + + + + + +
gcc7.3http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/
gmphttp://ftp.gnu.org/gnu/gmp/gmp-6.1.1.tar.xz
mpchttp://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
islhttps://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
+ +将这几个三方库上传到服务器上面,按照如下顺序进行编译: + +## 1. 编译gmp + +解压:`tar -xf gmp-6.1.1.tar.xz` + +编译: +***prefix路径可以自己指定,表示编译结果存放路径。*** + +``` +./configure --prefix=/usr2/zxb/compile/target/gmp +make –j +make install –j +``` + +## 2. 编译mpfr + +解压: `tar –xf mpfr-4.0.2.tar.gz` + +编译: +***--prefix路径自己指定,--with-gmp路径为上一步gmp编译的prefix路径。下面与此相同。*** + +``` +./configure --prefix=/usr2/zxb/compile/target/mpfr --with-gmp=/usr2/zxb/compile/target/gmp +make –j +make install -j +``` + +## 3. 编译mpc + +解压: `tar –xf mpc-1.1.0.tar.gz` + +编译: + +``` +./configure --prefix=/usr2/zxb/compile/target/mpc --with-gmp=/usr2/zxb/compile/target/gmp --with-mpfr=/usr2/zxb/compile/target/mpfr +make –j +make install -j +``` + +## 4. 编译isl + +解压: `tar –xf isl-0.18.tar.bz2` + +编译: + +``` +./configure --prefix=/usr2/zxb/compile/target/isl --with-gmp-prefix=/usr2/zxb/compile/target/gmp +make –j +make install -j +``` + +## 5. 编译gcc + +1. 先安装编译gcc需要的依赖 + +``` +yum install gcc-c++ glibc-devel +``` + +2. 注释 `sys/ustat.h `相关信息 + +在 `glibc>=2.28` 的系统,去掉了 `ustat.h` 文件,gcc源码需要删除相关信息。(可以通过 `yum list | grep glibc` 查看当前系统的 `glibc` 版本) + +``` +vim ./libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +``` + +注释掉如下内容: + +``` +第157行 //#include +第250行 //unsigned struct_ustat_sz = sizeof(struct ustat); +``` + + +(参照: https://stackoverflow.com/questions/56096060/how-to-fix-the-gcc-compilation-error-sys-ustat-h-no-such-file-or-directory-i) + +3. 导入环境变量 + +``` +export LD_LIBRARY_PATH=/usr2/zxb/compile/target/gmp/lib:/usr2/zxb/compile/target/mpfr/lib:/usr2/zxb/compile/target/mpc/lib:/usr2/zxb/compile/target/isl/lib:${LD_LIBRARY_PATH} +export C_INCLUDE_PATH=/usr2/zxb/compile/target/gmp/include:/usr2/zxb/compile/target/mpfr/include:/usr2/zxb/compile/target/mpc/include:/usr2/zxb/compile/target/isl/include:${C_INCLUDE_PATH} +``` + +***环境变量中的路径,为上面编译的几个三方库各自的prefix路径。*** + +4. 编译gcc + +***环境变量中的路径,为上面编译的几个三方库各自的prefix路径。*** + +``` +./configure CFLAGS='-fstack-protector-strong -Wl,-z,noexecstack -Wl,-z,relro,-z,now ' --prefix=/usr2/zxb/compile/target/gcc --with-gmp=/usr2/zxb/compile/target/gmp --with-mpfr=/usr2/zxb/compile/target/mpfr --with-mpc=/usr2/zxb/compile/target/mpc --with-isl=/usr2/zxb/compile/target/isl --disable-multilib --enable-languages=c,c++ +make –j +make install –j +``` + + +## 6. 编译cmake + +下载cmake源码 `https://github.com/Kitware/CMake/releases` + +解压后进入到源码根目录 + +``` +./configure --prefix=/usr2/zxb/compile/cmake3.18 ##prefix为编译结果路径 +make –j +make install -j +``` + + +## 拷贝gcc到三方库中 + +编译完后,将 `/usr2/zxb/compile/target` 下的 `gmp mpfr mpc isl gcc` 拷贝到三方库二进制的 `buildtools/${platform}/gcc7.3` 下面,即可用来编译openGauss数据库。 + + + + + + diff --git a/content/zh/post/xingchen/images/compile/1.3.1.png b/content/zh/post/xingchen/images/compile/1.3.1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9d45b7458e70ba6df096efaa0cd6407db0305f GIT binary patch literal 9884 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 literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/1.3.2.png b/content/zh/post/xingchen/images/compile/1.3.2.png new file mode 100644 index 0000000000000000000000000000000000000000..10812f71b06c38987b9afafbcbbe80669b6c9614 GIT binary patch literal 44697 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%0A;Dzh!yP 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%0DjOlr0hR=L0auYQ}Y{b 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 literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/2.2.1.png b/content/zh/post/xingchen/images/compile/2.2.1.png new file mode 100644 index 0000000000000000000000000000000000000000..330e2a02bd09a9ef082e5f74e6935cca17c62f48 GIT binary patch literal 5118 zcmbVQRa6vEx1NCkX$OG;q=&9iQo4~w6zOKDA*F^GkVXWhQ>43;kdTxZz(GPKBv%j;>`M$m1>S(Kw5b6ytKe+z1Kv4{GIvTndhMnQ_mB6BG*dpFdP>ROKQv6Um@#usx7ZdJO$DYGtZI z*r{uYNe&l%7h;UGUUDtlspGJ% zHGqQ9vG=$4K$gK!^XsNE?DveEY z3bjAz#yVW-Z!C~vFomf0z2kRk@r0u{-jgRe6m<#VF%J2fQPaXyh<)CW#Oxe}ExaX(r(yN8TZvt^!a5lYijv#YpP)W82_9v;%HLz@w44&OZ{TKf&3WWENku?dH<67y|;3 zO&xLA49~I9`@=z=R;DciNS5pDHI3-hh|;A^H!m2)=!j?%f8kp}7VEJqV*@q|iU`BE z4!%|=YIwoR!g$+SdPzDC=kvq;0l)1rhdypsgIU+Z&63waXP;>YJvWl5w@k$*bm6V&Fh`FVb*N0}gl;bL~@ z7KJ5j8$&KtAk2$e>XZzdqBt<&QChkQ97Ht_e(KOJh-m=}^d{ISjoWo9*Gb9Oq$onN zd+4B%J>he4bwZvYZOhOeYG|ZVRacj?@N* z>~x+-U*OK>VuYBqzv_e#Bps?>3~59H_+X2vRzXey-6&@oxhLVrgb@p}8=e zegW@&<&7wS2Z;-ST!$KnO>aKS_fi6gM~Vg$l*Rx&G|d8@OF)C^73t(abd3CXU=xdarJBS6^#HUF-3I*-^4H}Lm>zjI~}C8X^TQB=>L8NV$gozmfEEi1g= z=uOqocHSP>G1tPoSJ1q^H!3tQT{|$TWWm3Mb5F|9dWRdewr1n0n^9k469n}l?{yqN zJ({bga!aTP&U0Bo4lOmsmg&kr%L+2>frBl{-J##7|6x=G^0~BT9ScSp4Qt7jGaawf6E{K z@GOF)Yyu%2JKTN42C1_?hF?_^o#?D2DR0UKyzOifVG;;5($e&EVaWgEMri^n7zNWyunAwlEuAJby}*TmFA zofV#_Vgp?<0)~K2#$6JNU+q*EBh^BDI7bX$7|!>39~@r4+C%G2%|&Xvnezr(#XqTS zK4m#Te1?~}IyPY5rcy2NgzJrLm{y;9%vwEoAgA7!WD?VIM&ohpb_Jz=@{76fC?XAL z;b;Fxe^#&A&(yMAUWY4vS#eS%8D0{3UykeSq$*cdt^-l%RDJD-P)h2^F^M}~l_?Me zGnp|RuM;`Oy`&@%qI1yI+phiKWP;RX?CN{bcKz`yL@Im2wvxzD3=w1TdDO(HI<0<2 zL-u`*V|~(zTWyP{x}OB_baLxnW@$VH!>7=hVDH@Rjmb9T@4o^s+k>LwT{s)lRd4rc z@@;<=9594frqDLh5eGG%gAw)G&GiH7XH-*5iLG9z{3=eMxBP*&V8zLKrKf2~!leJeCHy$}jBS*BSER%h+ z^BOm-w+)IHAC31~o;iwFhuW;H2eZl8qo0~}QB=N;nu0z#RTDg$9n<~Ymq(U6*l{+- z#(4R)%3$Ga{Mf3IqkC(Ke$wNUtja1{{HW*0ny1?QMg^1mi&%5UBN~0BIsz%(!@857 z+qFr3d{0Mb>HWkpMQJz|3S}G_I%$tXGcJ9h^+(>4qn;Y#>dqoq$6fE;EB)fqc-I1I zqocE(dXu`DcT7r@qn3zu&fbI7B)e`0&IcsbiRhYjm?r(uhnYbC5h0;zD^B$1d)Olq zJhX)13H75+OXhBCQZZ?_N<$}-tHaF8t*v(`Y{3}69TPv^_`tZX%ptIF=NLz8Tvx2M zW(>iHsczI)@t|kUHo3rW?@H?wOc{~cuM7$IEpKdZEg2M&Yj)Mx5VXEMG!axrPgi-* zqfXd4mc1@}BWc*B=}R6t$GT(PwV0%@39&~7Vm41nYU%OZb0QIeJkPgntkuhMdL@TFcZOxjz zskYmvb5C|o*dZG(bm-co{cyY?f&KvBkGdcQc?S1CD}Tt*=a?0a&EKtr*SxIo=1_|> zU51}#(RuQ38hl%9$`#ecOd{*2L=0i?>mo9IV{(|n1T5vf_va2sLt4yZHIN6+T56v> zRkh1?9PK>X*HW$iT#`+FIeF0VSmPMdRb#JRbzJ;}(L`~I(CQaj3D|pp0w2qJ;B<*j ztx){_fSG6B+j?bFwRRfurop3(ER~aFmM^v9=%+tyVv(xL4Y_vHl*CvT3J@t#P(N!( zV(M5liJb60X|CfBOh9lLh#Os#UDuGS)}OAx-0VUJ0t#E&NmK_J%?DlN=+Y=u?aq8Y zB9_QwcLNnPQuRm4LVhV5g^fw6SbX)NMK&~}Or0ugilhd|{U-reLj}&8gP)pQoEUdv14j zr3x23axM3Ry8ntT3}MfUE?@8C8~B>hMA0mttg{C>vaI&G>Z*&k@Se`8<6B_j>D;9{ zrF2JFKHF8?>>FR24i%MsNk*>9j6*D`ugMG+qlD%@xMQf4VC9-9K-?WiX#xKijtbU{ z?Ht~W{TO}2S-Uv|EMmnWrUe3HJ3G+hx2S1_UXZsUXz6XRrYvNbFtuCmFod}=?LJID2Vx2#BDkf(9OX)$+sK91gJCWcGkUs5g!)WJzO}FOFTx04Y$h(+B#{8mYoJZsC#{V! zxIXlD(8 z2T>E3V$lW$R!ag@S_Er+A#$4ZxW8^n6H#2~3pFKrayd{a7`!mu|D#oOD`W4T`x{oD zSJn!d1`(Hb4!TitAP`6l>3C*(e=(+bD-zeo|DSVZ|}^eFD_t25(pM*(hv`0yS{ zXp83&^fWVSl-7#TK;y#+nEMj<^7Ali5daUqG8i>a=KnCsf%{TngQ`3$&yAFr3Bhu* zsUT`XJxxbYJX|gCT<4rk4j}#?69lJk!D!9Vpy8DCXUcDOGKXUWJSv{tZ+MhLMW2aL z3WJo4BfP$*4dQODJas3@+nhE*CPl|%p@W^A3M^zB)*ZEd(bMGRIR_K6T`e{K%(a_& zjC?gG$!&+8OPK}%UrcC3ZXWUx@y;rC5-GnF_X>efa2FONqfJ+#_}DTdUQ1OH*8LI% z4|CRy! zgS_U(_pZ&!Jx)*miZ8QEXp(`PpOFeTVGKz_MvN(NCfu8h&9|Q+0y;y2S-?SIZ+PY-U z0=}toXK>??q~%K}!Oh}TL+v~1@FvMGHYftiw-*Q_htf`de8I~Hg#aqfIIov>e2DzLswU?j%OgFb4NOz`~US}^gG$11hU*^5#f8nP}pw-rO zC;W^Cy5>pn^Q$YP|sTou2|PdXCFdiC$$B*&RW4^^rWV6;G?m1Qzb_Q|KF&1}K= z{g7r=D4AQK1mGPDsro_9S4Cfhp(4;=CO4Nmq$`GMO9)59BaBl0vGlRCDYs>;W#!7t zmm5__%>3^jdXwuaa__~f7c0Lz-z?XuA&>O}QB`Hk1Omv6`?zw>^Ltq8SyP4#n}b5d z@t?T)-{-(?Pna;e*df{QOiqnj8>fYGf|e&Y{Tf-Nx!vwV$f$g9Fs}?&`7-I+$O3-) zQa`$K_7*Zc(Y=YTEy&uQe0?_HUMfHME2HF8irTR`52vbfvEGk^9e*>TsQ$FrBGlIXDc&*NdQ8Ag^ zhj-MriP_ujH7c|dd?cwmi2D@h?-k>xQX*&nsiGT$;)%uL&AF#UKQFpV1R`~BE)>my zKiBJI6Y#eDOrF_XVx+^P0yVf5k^COz%eqD<9@)QCc$ryI2fQcnK(DGKQC*q@M+0i#WA_8$rWnJS#rO7IF z@hq(80#Txp3H(W7 zH$+ah$kVc2B>2&lLB7XzekDzfd~IDx=#^;i=p4IZH~WD-z>rrYw0xcp;#4|?dGr_@ zm$b^`K<~hH91*J!X5Ze@Cbvu@jtT0U2eIUI9zX=?sFP#O)0lbABzBU9bq_f6+0)?< z#~5K(v%1(L_KWp)o&n8jH(9%w*RJoM4+ZKa`SJG0WtAb0@!&Wu6{Ah^`1xaqN~+w)5w^cr8)J@X94J zeX5qq)e9Ews}X(JQ24U26<5h9j3IU_M-n5LYML6s2#l^}F&xL#m;EWZM=1L#=qJre zQM?p?=hw?O4ahdO5yEug=#7V*!ZHnV}2s;es$fXq!rw&}PsnVfNk z+`oYXVZ+GBXDr=|&AiQ7DIRI-R(o(9y0Ie(^}m#T9yQ&k$>NAnx}_Qt9uL@`^hh(X z$ZExjFx8nra|{1oD`LVY9^PU37HhaYlMhm2J_mm@6gdAx>-f=>0OYPY$i&M*%~#3~ z1wR3e#Gy&mDZ>c}{#C`@|EgkucrmPMH`gYIXZ*==btZt{q79O#2m%9*2na4} zNEwPN6U>dDIj<<|lTpw?g9()027~*AWlhyN@VhFG{XS@YlL(4f=X%pK1`bJ9kc)yF zo1Fzo&j}wW_xjfa`>WFuXp7o`LMP#p9&y{l8pMgTtrs}O*EXxTV|&yBaWOdHkeBkz zcenjeMsCWojUrt0UAK93U0pR?Qt~qomvtU zZ^(n=4)V4i(fnL(BXWD(5>*^V(61zi^(xGyf5cxk35C5l! zet|DQB{{P@`{q*2DEYtU0^tAAT=)-+aRzgJ-7}U+%32T3GVI^EI0}7?yhI@Kli=&d3K*Y zb+-1+Om|IpO-Vj-jhDS@ak zZ-yWFcKuvnK0*;eMnmw3yzp)SoM8IGz?;S)IbX)n!Mo4{xsc%F$?U+JSlkC*!$ja+ z@S*tspAQX`f>v|t+?WlDDW;yiVU!hQgAm?Sns@Fl{CK6V>xlN~=3Do3!xMMWV|Tqw zJ8*5HCg{|p z{fxxG>L|nZRKm|&hJbg6Be@TDjt6Nr4b5} zz7s`$2-U&uys{)<=zO}o6P4T$R{PQ~9`DY23cGUHf46%_<8}T}N;Nz@i;~2G-K)OF z=^Wb$XJfkLe%5_oijpf7cc;coSoY>>-FXEIw5bwjviwSHt9wndpL2w(gSg)<1)wO5 zind}^3P1CO6rQavT7_-_67*bJ80@#va-~fh9w^1e5>Xt5ly~C4ckJoGpJDsD-e!OI z35aO8rw84|1Vp_yb?g@XrW1eWhcJlHsXyyn$%-SWUst`B@9|ph7?V)AFJIYV@syiRiLHbx99k>akofZa?;^OVW=$w6a^^H)xw>~-0iV= zEbDS<=gK}aXd5P?)e9XgJs}>~Tew_B3x4S4$nsQklBg<|%N2m#cYHgLTXG`D`Q)c2 z(_N52^I=Ec#;*soJN)Vrh9Fu|z7QZIfu*liZ{r;Y8N1xGdv?uzan?Q@-~MizEqftD z!&qCD(}N%OQ~#`p=KvEG?x%%?b-2U+QH;vbY;x0e%=e!+=Guv8l*Tq9?YsezZID+8 zy~g}q>PsIGniY57qaDa92%Xi=&m8i4({i_WzSr|InU1DXnQ1R-OQL|B7|j;KTX~(H zCa6baQSaOjCYw=bNe!@Fr8YKz&E{4IhN?967w0SX-BN#YU-t3XyIaI1BQo1;x|4jn zU&LMCFIIfMHRF^;lnYODLn%uAvAWpZ|9Cg7ULrjaids!WYC#jt$!4n7T^caZV5P`r z%RVDPoI$&eBE&KH`boQqdYypl>Yn7NZ{hqA6-Z1lb08n7KwpM?g9{mZYE4k=sPk^Vgg(X(jkm4Ct58Kf9Sb28^3%Nuu3O*%n8%9 z+Ikfiv)Z#QdIP~kBg;0A3Ul@qznATjPB|?}cS{R1Cx$qhfE9FUf!vRt2nw}vGSnW!Q8YT2+zbGPE5z`nMHpSKhZn=bDD!K9tohP zoQ3H0>%t1IUSJ%N%F;MVuy9Q#|Ek2%o7(UK@AgDK8K3nLx!!AWwhag^}}t@5x{rP-k~> zEJNbOYNDgFbsDyD@u4`d*iP*n!un!olS*zhxjiM;2Q~SMPo4x@Uq;FKb>_s6|6TBK zhQ>gXfuNxru3W9eb`0CzOEHAs)zfY~x#_eZEVV89TXT#$3eX^S@MCuJuk-v##wu^$8~v+`J9fNkRE3f1eL>c@=Mu9#&`(P)StX;0OHko zp7g(0luFe-Ovj-%TB6W{Aq*U4a~aYb<5?u4fv+tD{^;qv&;yPz z;QNps^b0YgSdh_6*WVkFdUQx^=;U}H525s+`yTji!~zy-1v(SEIg()%Jv|G26T-=J z&OnMSZKOfggEC#&qNpbu+p{7;=7J2g5GtZFy9q2d?^*vK%prdUVeH2FiNE5bT&G?! z2b$)N?Z@l%3zAn#ATJzU9zX0?Q45d@CmFT4N3ET%cp)uq`W^Gv`aj-&cF$1Uq{jUN zxi&D&s31nofmi%aj)~rKKZOqS9ZFy;Tv^k}RL`w0-E|}dsbYb#dp_TJV?sWiQ%W#X zkI#3!w584+G8J}HzJZ2IYdsUA^Gb_n#h}iUpQn9$Dw8EPJ6)6KwrV&OeVi|a(n+i$XK>L>OQ8 zE>-^?dA=bLdfeTiDjThvJbeQSL6bGA1H8rFMz+ zRkv_$Vpkk*y$YO6j9adhW%<=qwWDL088N0%F|E9;)oN0gQNDU4lYpQ!I;b$@MB+MP zYeanMPh`4SB-si_EJRoDUh}BPaZ_|Q5sF_Idgdn`Gw za@`nZUF%!w#bqdRPz?du#;d5XzA`oPE#Au(qX`Q#DTw~joPhJh+aBM!1sDPZ|mr${X zdr1f^CtUb~)>3xr>0?ho(4zQ|Sj*7R65n}YFS5g|IpM6dQ7rUC!eCRPiMe0xFQ4xP zA&R6wD&+q)_+f|@&#t^*m049GO2J=FFWL5L{RT!E*4XfHjs>6vLbmL>6@ut^%@#M( zz$ZJQ?~q;}m)ehdg)42VUc-0WrmGxjB0^bDC`kLv)-tOs__>rOaUJBr) z?LN>+%S^8R;U*r+T(!z)OX73n%s4K$&185^gR#3H?&*}WUZp>-{bZ-CuSnS6-$dZi zrtov2u0>o1!j>@1w6Bne!uJ-C`GWYpQ}BeHMd0dp-Ka;t6od0uwb4I*a}NfMy(+w-MA9vL2dpV&$eRb#%vUMDo2Qdp0fLuSlJ-Hk9~rMqe1!IE zupB>-CwxvNn~<&5X04uwK+GI*%M<*HX;7!lYTbks*4j(2Oxb&*Hwk*jh?Xl1q83n> zU&hMne~VJqm*z%-+kV_d&Y|ybgt%0|84cQmbAC1PDTBHb7lk^M_&`cGk7b4tUx{zc zaO|AZCGNWfNd~ll#tPhfQ31QiXn_*A0JK{u9ER@!a|s62vvL#YTlr~#&Wpts8Nln$ z_Lo|$P_DBOu*gWbe~%f5ff9hpLP+)^1yd?e2}TWBIf5tnGOO?JXSOgc@SN3-!lVMy zWF3FWW$@y4P88%712)(7)7^EiD@@=~p@b>1YuK%Df&}{m}c|Wp| z-{Q`~SGlpd9xg!V%kWPh94vpHZ7EIv)6ER^vBKt&UlNco3Of-zyYCxcCqHvIJ%!1R z21EZwuPVatAS0BQ=R6jKCm`Sv2|s;Kvky-!X4vu!f71FZp#Y>7!Jhc8Rj|E`Va^m9%7=Ok&F z%5IF0i9nkDR6q50zK-t2TRRgoDUMS3;yftC(w;UwFXzJQfSDkKZ|<6eJR<&K-p&U= ztqi8^9L0iw+`u94&QEa2OSR2`qY6vXQC@w@U$|B&@7!M4T$F@Dg|nG=h{A<0AQxyI zMW^szehXU#-FNSr^?ZQQ56rvRSNe9)dhI{G>w{3qTnQIjq<3U}#-|BGr5If-19AxC zM7Whn*_mS9*d(x^x~nMW7Dzw(R$)DGQ{&g#DJz5u7+6bhvmv>S^bhuqXMWn6lX)lZK+USU6L+8}b&ZNIv&LiTFFO8*OX($J*kv zS8^J4fp=IjAijOA(Y4wO*ISDJ;IJC09smU>S6wmck@E<5x|T`|Z8-b`Qyfn0Ex7BE z+kw!YMNS#m*9P}^Ok2HckO|no4qA-;pH?%XQpb-lWBjp2qdu;d>w7*o2iL}-!KdWW zsZ%&|5$JaLC+>o@hRFkkZ;@0}a@lC``l6X?#k{-K8jTzxD5kDjDdDxDAt;*xXN1t0 z-$8*tNx}Gr8pP!jFH3J_PCyW}X3D~b2~pj@Fu*n+p3QlEFv}%lK;bDpQ%W$zs5@)W zgE*7)aPf%R*WOflzc5EgILo$i_7>;(t=r0sYO_OX6`Idswbi@)+kj$Py9u|#)PraF zdIM~;UE2Gf68d~dT?{cR0-JBfR4W7N~rsm7mGx`?=smI6;^`DBh`Xzoz|!P-QQLOnUcj5>y<4E~Lm#+>g(w_+HyzuQnM5jcO;wkIyu7A4lj z8x;WKD}UF03b!8gC;LHi$f!=f7@st={({a_6%QE2xT+YR{!*#DusFroa0QG;rp&jBy0S-wf_D z^I))JJQoFQ{yNk(ZM!&L5VVl{2Js9qsAoyt8Mfv zW6`y_C}2FfLB%mKTFMN9t_2YVuhP%JA^FocKh9x^igfWp_1j2-wj?APXlm-=Kv?=W z-SY4n&F{Cy4yZ3!?=~NfS|vJ3-0F&_?6oQOqF3&02P88e{70~fY0VOdiRaSDQ<=H( z4fmB~^29BNz7^lqI+wNvI7f-tE|9A8{3d7GKXU*ckfx~d|HG)$IW|b|1=sEt#!=F` zp`L9~Vj=|@v#4j{m*P00rlrIv|JD%@f9C0w3i~ZC!4-p9QRK`C^dEF~T9pdih7c_r zd!a6s+>MdxMSI@|A@*(%C7SR#*#Le+d&ycj9r=(CADtC6QU)0pGzgO?_)lL)diANdFKg)q(&J`zpH`gw5JtSzr|BJ@H}QUORSp>e;H?ogrHzAjOfzBu5?LH-BL2l z?r8G1`doYZX0W&|TlID9_cOYQ@5qUq#maYWTGCAKLRFZ$IGqL3(kUaiUrjSgRP1)t zw*svN*ziFa819MvQ0R@;)}hL73V;>2z8$5JLZ3d+pmeBV-NUEShYSZH{x#8%vNC)! zMhz$3188C|XPU{ZOrtU6x?jK7NJoGJQv9U39XEVw3#caZ`_sOXF zVEnoK&^(nv2gmG1Rg|y9oC2O)&^ukv_59YhPO98tDYt&)G`!Tki}N$r53j$Je>x5K z!JdsGBxgQ_s>O&k2YUEMZHUp#Kn^d`>bur>{K)j z#pt`;2b4}HQlX4aYhR!egsV?LgDLze3rK~FsV@1E~ zJBs=37`6$yF=nEC6E=TGejZ1?u0%}Oc2~V(6Kux@Qu}0FF0Zn2oJxR^`D-w!Mh$*H zXVgXXC80`x?niwvFkP;n-FOU{fy17+z~eEf5yU(2GRW*BI3c*0I=^j>@&%JGnC}ksaQ4EJWYyx%AdtP;8DQsDPNHnIMR|Sn zAW{Dl|Lk@+0Rd%kj1`KCW@AB`)<3~6P^(y^(5E*!A>H#mz5(Vltx?Bghjid6>~*C9 z0_LU}Z1!)v?GEWFq(B*z-Uq)eu$=ZFp%P9YC!il5fxJ-Hg#U6?_vL2cKKN6y2#EVY zF#t2}1o*b&K{}9-><#1u2AHvUAYopO=oJ57d{GQT7*hy6M)Q9=L4G6h9XaPE$Gd4x zT*`y{W6SOCR>d1J-OKPu%)`+{h=tkrQ^>C9r0l$b%>jkdPx6g5COXQnFi>O%FE7vm z9a!&C?vRgM7VhQ6HXRtLOSgfRqK^f*OY6V;WzjX@Y9Pco1V`Ko7r}mRv!rcfw~^mo z-UbAOEE1QYc%W$xo@URI?Zs z9!RZOlL^f^G=fZ!Q0@7z``wH5HTjzC`rnP_}u; zC?WjyuJ1hcRjjc7@i!Si5MCI+-ONBb+V@9GlJpsKeBPTXrFA)o(DQgVtBYz@mhy}W zd@$kPY!6DJK4`ydnRtZJyA;SLTIq-?->TuLL%MKdC(X`KD1G5alqf5J(h^%)FOL1N z^|V`r4~(!+$0}1hlqBmW3wnW#Hcv)F{$+vti{STn1@XazE7Cm@sLk8J3xm6l&%Ao3 z5cQ7{7Z|h@?el-qhKsc02rrc$#J^D<(Q(CY;HKwjHVI94w0(imW)DRKN+NAfTd^d# z?o_a6)u&jSOs2rQrM@&NVrqF(0=pfk7oTP%)b=<_aFR(=Vp14rvcCVWip9#fNM3op z{MIlKjEE36Q%FlG;8%S3S*|zNCQ4g1$(^HPGhGEfxAf1zX5;Yl;-xH^SWLa#D8X0k zKjgM4el?SL^k5@9gLy;3qoSt#A8AEv?npeRBCc>{MbdU2 z#252Eud2)wzBFhMxfpk68_+I>ZiRX-_v2GNbmxN#I#+1XUh>UlKQo3dW$AWrHumT5 z$1s_n!$p#V@O=v~YK`m6bV#^3qN-_k0|LPCi5Ef;=NDw*qS-fp0SU{jOz~~7=rjYC zy9*7__^#0M0w%G%Tthz{^AG8}BytdMdCe}zh-jh28yp;=?Qq5g3u7oNwmh9d;x-aH zRx64_H`khrE@7Ma7}h#X`Gv*$h>3i;5lmhARS|iuc}kye>d1y0$LqHIf$Kvy8ogls zJLLxle6_d;E{-)KcKyLVif-I7SCOz01l6qq@H{SYS?oqSW-Tw|a((;CAXy=k^cpEh z+dOb%ArOJgS)OgA>{Tn3v=i&*0BcZEfQyEVn5qSayn?yIng zw*VQV>`-MaLOOP=Wm5kQE?uB_0r^u#LI*olN)buD)|Hiir=@QLA^2;*o(%;$^>V*3POaxl$nZov)0WT84o|vBWU4Jt@M3 zEvQobWKmNX{Cz6EVhYQia~1It0ZUej&M^V-qRQV)M^fS)=@PGIlC=f1g9>1~vEt&+ zL{+R~(lcg)7#;c0fPibp^pEy1^gB%tb(KC;jmWd&B%;79pR4Q(sPIq?k>cGyv}Tj!*ZsNk&4_b>c}PQ0eT@QeEw_8{g8m>wGV-HUOfslU^1ynwwo z9XhtWlNc0?iHlzm*GC*!+}}sl_E}>AHlQAH@WzIy-*M zyzz_waZV1ezuJ;AWDzSH7WUZzV=MerIl{xRU;NaRsl`FQZ9S%XMx!_N6!lgqN`~ay z6kR7Akr`|}*m*8S-W!cm@?xp(-?+R;tw=>`baMpUxl3P8Zk<%qF)(Zo2m5zc>Z&2p z2+rN!uToUIW!#h?zaqCmw7okJBqUAxZ@eE5&0u`Pow(i`LWw8cU`8c|VyHJ?sh7Pu z$DG!xUK|bF6u!e@%|LjTVN=38`cdLDkP|B`bv9ah5k4E5y?p^M)bq5%bif;8_zcf< z@z$J;tQDGv1jKrK`Hm_0Weu&(mnCREbiOAcSzd5Le?Ka)=#aBeD$`gom|JD?n1GW` zoKZ&J-qVTl%a0QD*?%IjRyklqC!6~+x0~iiZKqD7evFsh<{!G@ayz;Uo9`hgT%6x# zuv9iyv-Y^-CJM%6Himw}l^=h$UcM52A1DFZq?E?a5w#`hsb?>#+`j>nKIFVZkw-)~ zY1Mdrcq4e1>)tXgM`H%T0g4yr&G@H$Lp&UR#s*cJE=H0=lLv^d`w}+CG~rUy0gUxS zUT%{XU04)B4;s(dam|Y*|3q?N=HW&7Ubj&!MP~{fj<&Q}$MvX#?yH9yeB$38D8i|u zYkTg!S+0r2XpVh+sj-Vu(77ZeDNzz#~;ep00>q4YbbhWJTB!YR8Jx&H=msP)!J4$I8%&5EjG z&`ngJ#HJad_(rnyjk*5-j&d$^Y#4VvuEmsnOlikF-H)elZ)inRb+Qs|3F`@aSZ*@f zh2Gw5?8lPDS>W}ecS+&`l5DosF?S8kbj#40oWXFS+?ZH!q?kzEztXj!7Vn~ZwJn(| zCe?&R^*BU-P!X0J_l|f#DU*w;L6=WH1rCK>D`kUe3;mMkZXJZh32hy#uuZ0`N0DQjk#Q)W4(iQ*z zoEBI2Q8JI~IIf(KEv2!&T{LpaP)$8!QGM9z1rdG3EJz+OIEWLZyA$q(Gy2iMoi4AI z{xO_jY1_LyD-7z3W8AAnR8T-aK(g8w|2Eg$SzNV$!%;pF6fkPkXZ2;f|32Z7`rVa_ z03N+}Vh$PjX$9bbbZtW6#OavJGRQ@%uuyOvy|q-Gh!htXm841 z$220yDKUYM`cN%uMA_~)~!v!beA#bp?LLIoGO z;OdIv{mbXV{M60ZP^6V4OggSxG`5k)3dUz7NS&WrE;)FaxA(jX%k9v5q*z$wh|wM15N4w};dR+{C#h*uVi+nOZ|#r^G&p>UqdGDD;-$LUTb%rH(&E@-^Z$GMsUPscCkv@s06zlzLWna#A3u9 zAYJ|~d0Nf@2>Q;+h*>gT!#un~9hF6)K*gPumi z9w+K6ZxhllU_4tCY-TUsW@>sL7ddIQOwmvD6wm{S{A&)O<;mwA7rH%2^&u?;6q@Yp z>OecU3*Nh7*2fm9`YoXV4`9MDiIBSg^>DmSU#sP1<5jH6vck+@2GbpC@>0APDZ)%_Gi!zSWq9KASrqT^B^F1(p<(Nyc&G&i)M+Mqk!d>^959=!}`E&6< zbGQJYPHq7h##R$nGDdG4rM7m#L(xkI;(rq?|ICq%AvJm=bSFOGAAXHm|C?V)Kax}a zSA3ZwwNr0O3m;FsJl;s45-0pT%T>_WOt=ztkJ2?Mm}z;_L>vuEvbGoSFAk2Ydd~-Q zin=y$E2&!P8*jMWg@%gAN-XS5(pHnw=Z~p@nSwH!mJ_x;*eJOF@zsS}9cxw`0P3HB ztJ&6grgAvuf%YX|3dAQDL-_z(vMrOHBIBI;-L&n8%zz7(}h z3xdunpZX}#q%QpLGb%bURb*N&GDOKL;Q&@v@jXTP?k!*IBRW}qjjk4w)9Alk{8&sS zAKKE%NMZjyvNTei+7y>LV~4@EA!Cc0|NPOz5$oY6=vs$s*_|04AP%zgb|+sV_}n62 zChUA;3GaPLEw)cLUuKf>>!s$aG9KMTsIx{-f&16^SAHBe;>Y1QX5LZyj}las{m4S; zXSCGJV_c7p_;2qyX79X2f7rfqsP095;Qg_wJHnDJ{+AMmgSBrWpRVa1C|UU}d^5jy z`SeKI5C5^9o$j$0qXOyY4~B}-53KppS<(^5`amgO{kqq3k*=nhG;AydS;c%?8Lahky%EdrLWE4E^*o_=7?!lGk8V8bXCE%_u<~DiCU-An zRV?qpEV}2uzPkqe1Ewx8m{=_TJ22J4RD_JI`OY)eF)LDaBb@5o6uj@tcf(_W_UFw@ zWzFv{RSgQjNDp%5CM3p6JY@dV9-~!eCW{I zot2+iv^oUAYaUP!tRqN7W+^>_zk3ugo&X#QqgJiIClG_jRW}E}irSFZg25Gm4FH}P z*h*nW+qi$>)GGoWQW@oqnEzd1!+_v56=?TD@pnzd1K{z9D02`ZF7}mzv6M#hZ!BR^ zH9Cy$4@eFj6|w@f_!#X_xW>lH`(U0d3@p{#mY)AbBLG~{Z*!5zr%8er>s4ZwZX0KN z&9|6L*n`z*LjA|a@J1wLZ~5FzBR&aYLPhG#fkOr2nu6a+s-K-<_`LLs_oY+hMQE)q zkR2JBetDrg{s8^u+ftXK*KAi<`0v_(Q%Psdt!%)QB~6Lk?n_yKibS3JHHTa^B)oBA zYS&XTQVG1lbH_h5sHFR#J4l%J-BDFb*Rd%Bv@a>%VkS(dA^#Fn+Yd|3VoXG>L{vx- z&5a}#xp2S=*4xid@9*WRaE@naklS!0adY4vTF;mr{=FT>>oW}J!m&I1M!V|?lMy@S zU4lst>zuygeZ->$6zp+QbKX9(|0!uh&-1zqyAgIU^TzkTep34N|DJ}G;&Z8#arI(} zRa+GRH#>gh`y=;J8p_*0q~P+L=_yi{grELARdi9@G#nsQO|uvO5}E|Nh{VmwGLCS{|J9Ot-p5$21Tm4gKx^cYZZZaY=VmQsS zK4f2bDv5w7rnN{G@Ve8uB9FQ01!Yz3dFuK5;_%uEO=?CM8hsl??Q~-P70ZGW4aVmviUU=@aIs z%+3wxOre(xyiz5uXziv%L;aAMewKDK1<%RN)#Wh%gQ#^GL&VFDgx>K{TW~>ed*NF} z>2KK;w^jy=kWA^{|82&lzS|M2YIE{l334*+ zM)Pl|vr(@idV(|BADpQk(;}lL?xATPLbpcZcLc7^GXl!LlzE-R?;9^(w>5pBbZB?Lr9 zqcb=MtSXN?p8lrCicd$+3&$vPxvnCJ<(Z;Gy0_P(bXi?ekRv~LEJ~~Uw313~GC2b7 z0qPY+o`>uGau&l`{w3;%Z*pjobmT)4-LE5$MIdDt1-9dU8+vj)`Tk^Xt8g9n&5k!o+JE55$`u=z?&@;@=NlMoN&TO zP0Bonc3MfEr8sf$Ejbfgt#&5t83cJo&ZG*?g%zb{&sdttGzMW7E{TzL#E3c%cwWvS zqNUnvpO1D^b&X3Y?N@;C?*L0@omAeg;ren^e*H!P@@L0Jhe*`E0%@H?k^)BRS#UHL zNUd*JYle?b%(s_>3N1p*DNiZHuEBbc1cjO;DEuUv*lTVI;+9pLLc$mrK+f_9%Q#L! zW)9uLvvKM=Od@8PT5STN_5AJR({F;6WW{*&KB`ixhc+E=l5SxF8~ih^mL5UgAQjbj zU`TfNSY0KQdoCAh$oclfUOyR201cLdQvfj84gfqF3`Z2+5;)2ud`5pqGo4 zuipGqX(4{4%5vu1sDJ(k<9J7pjV&zP?~fRM0Y^OcyzoQ@OttE@zRDXqlY|KW1xh%O z_4-SjE13}r*8Ii05q96ncV5WvON@Js^F+4)W>kAn6M{+i!-?mXr}+BMnhso|O?YA- zN?GTr4=>&2Q4l5$wnVhbLtLlKTFKr<7MN``^+f>+#l{(|=3yxrO+=sDUwU-X?+lg_caLcJq^LpFt>%fYDMIdb3_>Ngc^bIRW!N`_KTIY|$>~2Mp18KsDpjPUsOt`0bu=sHEzDdi58nRHH&14$3N0#1F*u|O z7a`(}1zNE)xX+Y{f@B&B`gC}tvNg{79q7O#d(X-b$fOD?_!yJ@gk9}<`TH_lA_Qvt zir{Apf|g@@I*@z8CAjS;SC~CSs1I;-)-V%NwDz^^-%$)A zL9P!aAI01L+x@2u^R5IvxatE_;i+?3oJE*WGs}D%S=ogWHdw(5if|LHJ z0^b-vLjA3&QEpHIggzw-w*=ITqTH$htOZ3X0OK<;4?MvW69(#sE@z@AF(KV zXfF7wu&&l+(2PU9eLjH#GbgcKxC=Aakz`&bc=MT8s7Z))nc79Hk2*b(9`DX{ROFBE zRIa7O$Yv0fd!`#Widy2jh@M=^E$(2pT-#v5k|qQE^Iuf9qXY2!vK%BM`ATx z1x{(o0b2)Cs5e{kAnkB0g2aHi54stt8d!N2qu+YP{`S|*WoZU*5BkSp(v1DZ;OlKc zmXtJutYdIaeu12u3%av z#&r!R@_TbRzm*G8yPYuYZLx(j{|Sge)Z;5yCP_ITELGjdbD=idqGysX8Dtf#U*jM6 z;|g;_&RT&CL`G47h^#00#&Ad2Ao^e8An?Wh{}BhRQ>>Bz%`ESH?@hDk>vay3&f#)5 z>5#WrhM~)JdeLG(?u4@?~W@-!C!-ORU|MB?!Kf}Z+%~%6*iG| z^btH7hMV*&+77!a;fMs&3231#*(67#BASYeF?tesNKS;(dxEF-94xGb0b*7x%6*NG zN#&(am%*x9QVLLSq*Rt3Z!MU9N-xPBb#8Q9ZFO+{LAU;1P64YZ^Vzggms5_spo|7s zt^STBO*u@G?S?k-8*2EjM4BGbp29?s#DH-{=ptx{wPf(Z1|S6&{g6oSIxNBKpR~vz zgrGMk?>YGv#9y`K|Mg71SnAJR@RUdmJQk9{rda#ih6Z3mtw4k#YBQ&Sca$Z2JdOLd z7nGW5Odfyq{%iuL;)0iOf1kmU?m>dwCYd&V?%Gv+CLnQ<;RQd%6&olD6HQ1KLVWe} i??YX&fq^~m@WbCE_)9_P<>1HBAY>&!N&FBq3jQBUXufs; literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/2.2.3.png b/content/zh/post/xingchen/images/compile/2.2.3.png new file mode 100644 index 0000000000000000000000000000000000000000..77a04ea80bf31b6dfb25bb2a8cae1382b1892bc3 GIT binary patch literal 21691 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 literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/2.3.1.png b/content/zh/post/xingchen/images/compile/2.3.1.png new file mode 100644 index 0000000000000000000000000000000000000000..464185b9086cf0fa157558390f676725adb10a24 GIT binary patch literal 10750 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

U-O z5%xPmfEe)H&S8sQJ=O2j(xn=eH!jF$S@j20z1eo@ zF#Nw!0#P1cH;p1|vo5du0A5{)4G7u;QV=u00iFG0p)~MI$ywn)owN-6RUz=7nv8s1 zu=kbwL1abYxsG#84B$r8K|G+!={HHs|A@{1t$J=^j(>{x^}jP2wyn2tU}4YbCd}gT#*EPO;_Tz&~Ue%N%O$UC(`XzqDR=j_~U@V&<~uba#d@PFuZwr&5TNIlc1~ z-b8L@D4WER}1kSx!2~xjzh?m33E? z{}z@4wnsV-w^m5I!|$7K!1aHQkFvN89I$h%=bO1xUhjeKS|T^?f@cG(MIRmwyWf7!Mpt#$n}D{z}LIjtxCfTID*DYj`t z<;Qb8n~?l+$4Hl4y;qL(GgVh0Uf`)kJiQS5~%Y8+|U0V6#${q9t)2uK{Aa7fMhTE6$KW=iu>e zlzI!I@>fgK43}`ddMBfO;ZfdW+PKl52%ek>kNvHpsse-KfD^+5j7X$}l zb08+6=ptvRjl2GHqp9as=+68%y5^(YN+DN7*_FwU|>jFXmVIuFT2QR z614n7`7xIE-4h1wRubkXgU?^ij;9!v{<_VkGr6tmdfGDYlqs#)cuOAWTze~1?$#3L zbGoiq2AG5AR=1wuI60HM;vf5+yfbx5Mr`NKRP{$LE@*kI4$xZ?2g5W(zZIVd7|fPXGvh@j<=p_o)(T>Tp%xnZu4$JVn_&K&wvV zLroYhqjBqc^TGT)$o(f=<%hxb8`LXAoDChETt-Ie%WJB|WCff;e0x<=tA`w$=TSwL z(W*c$G@-7xf79Lg?asdjSIsx#YoyJ4>5RA-nkk` z$0mq9+VsA)Mx8#dQo$%oV}PdynC&ly>ksmAl(u+RkN(R{(^G^$3F;U?&cZ#vs2CK< zs=rkev`XO zlkxY&?;TMq3F+I4-sk3Q+09q=9D5wUHQ~CdBEhmrCwDJ3+${P?slC@YNag=!?I4< zEk%q`oL}nr;V_y`+JyuIe@4&AFOQv*$Q!F%hpVdr3%UE=|2q22dzMPG zPyJ-{l%38B-c)^Z_w2RmHbcsV@rn2Cs>xDC2MIJfbuT4_Yxu}sRy#=e z#)Z)}l~p58QFL=g?>&`6eWa{TK>02@mCjbEz2gRYj@?+LJUS z{>%kYvf^F&@0n$-!qSt8KmkWyW|LGV+t zZ=IscuW{PehoI&vdgYjj)Ti^-*nmvz5&o7CcF3V13S4?~uan?~y7rUrs@CEE2SO{Y AfB*mh literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/2.3.2.png b/content/zh/post/xingchen/images/compile/2.3.2.png new file mode 100644 index 0000000000000000000000000000000000000000..29b94d18615282f288145727a0396a49a33ebd4e GIT binary patch literal 2415 zcmbuBeLNG28pn4!QD@RZZOPlI&b%MHrpO`lwu408B1fz=Td2vq#kN$Uh9z-0#&U3^ z<)x9CyyZPKkr3f7W|CPZTQi%x`?>dz^Y^{~e4pp}JfG+DeEbteN4|pHVeF$+s^tKTXL)nr=f3>Z2{ub1iySM2c;*R3|e^sCx2bXE2Rd>~WeNnf~0b@BqZ?L)X%{o=>|42CT1Radj`8GY z>Q3dDYPnBVA!Rb%^=$ync-IJ9Z z{zDx9v&nNH#|2nzv@yP~y8}~Kv&I~{w9GRLZl{joSL15Z#!QRV-}QM)I8bhL-}=wp zp$>HKTh~uwL%uSqSp%R$eaEVlH^om#qvcX&V@g;Cv0V8V&l11Pk@h1i(ZvVr1JjjYR8+w_3?pgD=*(PMy7dl$nXk@;SAzKW6xMZce_QhfHWtzS%r~=Q-72ETZMs!9y3MX9k#cD zJhf+Y?$bZhM&-HKW6P1NIJCMx_}-~sjbL(=*`ow_Z~w+hmxQO&xdGd3O6)GdBU}Bw z+Y4cOMko?8?PKgR(R(w@faUV?TQi^8T@V0&S*?~Ov(7QfXheDmzm5nIlr7(@#ox== zD{ZIZ{lTUW5)Qy)L}Uka%Si|jr4&;iciK;O$T{J#;KelSG}lD6C^-&#Yr;3aV2Ys6_n=*9HXEw;)n$|cA;jYuJQVIXnvwe;50h-MG<4V{2 z08Gft2Q5+n-b^3udNN@PB1RaA`RXiNDaJS|V~TC=uDx%i@?`Zl8LzclRvKw$SZQA-<&JGIqVN6sOg_S4sIfnej`O!nCxr6d*`ZW{oHOAa zsS(dc<$&EcY5o}O-87c`ogHRrW7hY0qRx{bt!3%m{7dHi!TFLPCQjlRI+|gc zM5U&FM)~QC&`Nq^W7OLFe-U`>BB*scJ2q@M5dMUrk(Dxe!Gg9o?}4qT*l(V~f~Pqd zw{M|gi%P27?&*c?uJguL6?Cap*wcs^)VYNt%Urre_y# zE5GH2x3*8J*=(gA^tFV zPc~|ZCxV|~9iO&b(s*ft8ncaph^nUN%S!6S{6zoREswm&v097m)y%LBY))I;UnxmP zYt4_lutNpXxgT3p3JkegLDGw?$*Syu^oA9;a&RLdWE%A)P{=DPDhmGqRV$9I9exWR z@w;6R&hu|Y6yK|UKXy6WN!&S+G-WEd%UC$yJKOMH(_lb#ekjUmoIe9g>~8ghCb6&9 zhkJQ36Y~%*U$a9Z5Zx9bI(M4pp5B&PQ1f>2`zE43Klxg#@u~grS1tW1lP39#`YyXJ z)amU-ZCW5}HjGk%Fl!cZ_|y9d#_0oOyS-(^B1`$8M301AraX7(+&Wa^p*r3^%By@! zk$lbGEH;fY6lG;23{Y&u3_bT6DxhS!=+$QW1cW2)x>i)*#?AKj)v>9iE>mV(`?u7^ zgG8xN(i*rOa^0hV2VCSG)jas|=731l*eggcJOSH1+!ZCzgA27jTL$C0v5oCItD_{l zYEi($D4*>PObmorsj?Lt8z@vt9G5o;N_PP_V6zRsOMVM;l8^*?Ns}E2J!SV*(~e*U zdk<)5 r0DyhnBwCl$6(!#ZxT5^`JisMg6WPAXR2{ypcm{AodOFuQUby)$xfZ4G literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/gcc_conf.png b/content/zh/post/xingchen/images/compile/gcc_conf.png new file mode 100644 index 0000000000000000000000000000000000000000..ded898806e657a94cfa804d8592a22c08bd072e5 GIT binary patch literal 6312 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 G;Qs(`GjD1D literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/images/compile/gcc_mpp1.png b/content/zh/post/xingchen/images/compile/gcc_mpp1.png new file mode 100644 index 0000000000000000000000000000000000000000..1d9bc5d85b1ad5a050ec706c7c502114ef81118c GIT binary patch literal 8049 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 VE6uop$i*=zO7iM*RWjyb{{t@J@XG)I literal 0 HcmV?d00001 diff --git a/content/zh/post/xingchen/opengauss_compile.md b/content/zh/post/xingchen/opengauss_compile.md new file mode 100644 index 00000000..75b7f2fc --- /dev/null +++ b/content/zh/post/xingchen/opengauss_compile.md @@ -0,0 +1,265 @@ ++++ +title = "openGauss数据库编译指导" +date = "2021-02-23" +tags = ["openGauss数据库编译指导"] +archives = "2021-02-23" +author = "xingchen" +summary = "openGauss数据库编译指导" +img = "/zh/post/xingchen/title/img1.png" +times = "19:30" ++++ + + + + +- [1. 编译三方库](#1.编译三方库) + - [1.1.编译步骤概述](#1.1.编译步骤概述) + - [1.2.编译gcc和cmake](#1.2.编译gcc和cmake) + - [1.3.脚本增加平台信息](#1.3.脚本增加平台信息) + - [1.4.编译三方库](#1.4.编译三方库) + - [1.5.编译完成](#1.5.编译完成) +- [2.编译数据库](#2.编译数据库) + - [2.1.编译数据库](#2.1.编译数据库) + - [2.2.编译适配其他系统](#2.2.编译适配其他系统) + - [2.3.编译适配其他版本gcc](#2.3.编译适配其他版本gcc) + + + +# openGauss数据库编译指导 + +openGauss数据库的编译依赖很多三方库,社区已经在 `openGauss-third_party` 仓库中将所有的依赖放入其中,按照操作编译完三方库后,就可以使用编译好的三方库来编译数据库了。详细步骤如下: + +## 1.编译三方库 + +社区针对 `centos_7.6_x86_64`、`openEuler20.03 LTS_arm`、`openEuler20.03 LTS_ x86_64` 三种架构及操作系统已经提供了编译好的二进制,对于这三种系统架构,可以直接使用社区提供的编译好的文件[openGauss-third_party_binarylibs.tar.gz](https://opengauss.obs.cn-south-1.myhuaweicloud.com/1.1.0/openGauss-third_party_binarylibs.tar.gz),对于其他系统,需要用户自己编译。 + +针对其他系统编译三方库步骤 + +### 1.1.编译步骤概述 + +(1) 需要自行编译好 `gcc` 和 `cmake`,gcc推荐使用 `7.3.0` 版本,cmake推荐 `>=3.16`(如果系统中的cmake版本>=3.16则直接使用系统自带cmake即可)。 +(2) 下载三方库源码,修改脚本增加新的平台信息。 +(3) 进入到 `openGauss-third_party/build` 下,运行 `sh build_all.sh` ,即可进行全量三方库的编译。 + 在此编译过程中,首先编译了 `openssl` ,然后按照顺序编译构建工具 `buildtools` 、平台软件 `platform` 、三方依赖 `dependency`。 +(4) 编译完成后,编译结果在 `openGauss-third_party/output` 目录下。 + +### 1.2.编译gcc和cmake + +gcc和cmake编译请参照:[gcc编译指导](/zh/post/xingchen/gcc_compile/) + +编译完成后,将gcc和cmake导入到环境变量中,然后便可进行三方库编译: +``` +export CMAKEROOT=$cmake_prefix ##编译cmake指定的--prefix +export GCC_PATH=$gcc_prefix ##编译gcc指定的--prefix +export CC=$GCC_PATH/gcc/bin/gcc +export CXX=$GCC_PATH/gcc/bin/g++ +export LD_LIBRARY_PATH=$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$CMAKEROOT/lib:$LD_LIBRARY_PATH +export PATH=$GCC_PATH/gcc/bin:$CMAKEROOT/bin:$PATH +``` + +### 1.3.脚本增加平台信息 + +修改 `openGauss-third_party/build/get_PlatForm_str.sh` 增加新的平台,如下图 + +![](../images/compile/1.3.1.png) + +$kernel信息可以通过命令获取: +``` +lsb_release -d | awk -F ' ' '{print $2}'| tr A-Z a-z +``` + +在以下python的三方依赖中,增加平台信息。 +``` +openGauss-third_party/dependency/fio/build.py +openGauss-third_party/dependency/iperf /build.py +openGauss-third_party/dependency/jemalloc/build.py +openGauss-third_party/dependency/kerberos/build.py +openGauss-third_party/dependency/libcgroup/build.py +openGauss-third_party/dependency/libedit/build.py +openGauss-third_party/dependency/nanomsg /build.py +openGauss-third_party/dependency/numactl/build.py +openGauss-third_party/dependency/openssl/build.py +openGauss-third_party/dependency/protobuf/build.py +``` + +binary_parse 函数中,增加新的平台相关信息配置。这几个文件改动相同 + +![](../images/compile/1.3.2.png) + +以下错误信息均是由于未增加平台信息引起: +``` +Failed +[Error] the plat form is not supported! +[ERROR] Not supported platform type +``` + + +### 1.4.编译三方库 + +进入到`openGauss-third_party/build`目录,运行 `sh build_all.sh`,全量编译三方库 +如果在编译过程中,某一步有错误,解决错误后,可以注释掉已经编译好的三方库,只编译还未编译成功的库,分组单独进行编译。 + +***编译buildtools*** +``` +cd openGauss-third_party/build_tools +sh build_tools.sh +``` + +***编译platform*** +``` +cd openGauss-third_party/platform/build/ +sh build_platform.sh +``` + +***编译dependency*** +``` +cd openGauss-third_party/dependency/build/ +sh build_dependency.sh +``` + + +### 1.5.编译完成 +编译结果在 `openGauss-third_party/output` 之中,目录层级结构如下(`${platform}` 即为当前平台信息): +``` +openGauss-third_party + - output + - buildtools + - license_control + - server_key + - ${platform} + - gcc7.3 + - common + - commons-codec + - fastjson + …… + - dependency + - ${platform} + - boost + - cjson + …… + - install_tools_${platform} + - asnlcrypto + …… + - platform + - ${platform} + - openjdk + …… +``` +将编译好的 `gmp mpfr mpc isl gcc` 目录拷贝到`openGauss-third_party/output/buildtools/${platform}/gcc7.3`下,output目录即为完整的三方库二级制。将output目录拷贝出去,重命名为binarylibs,便可以使用它进行数据库编译。 + +## 2.编译数据库 + +以上完成三方库编译后,就可以开始数据库的编译了。以下介绍如何进行编译,以及修改代码适配不同的gcc版本、不同的操作系统。 + +### 2.1.编译数据库 + +下载openGauss-server代码,进入到源码目录下。 + +***一键编译*** + +编译命令: +``` +sh build.sh -m release -3rd /usr2/compile/binarylibs +``` + +-3rd 为第一步编译好的三方库二进制目录 +-m 参数可选择 `debug|release|memcheck` +编译完成后,目标文件在`./mppdb_tmp_install`下面。 + +***手动编译*** + +导入环境变量: +``` +export CODE_BASE=/usr2/compile/openGauss-server +export BINARYLIBS=/usr2/compile/binarylibs +export GAUSSHOME=$CODE_BASE/dest/ +export GCC_PATH=$BINARYLIBS/buildtools/openeuler_aarch64/gcc7.3/ +export CC=$GCC_PATH/gcc/bin/gcc +export CXX=$GCC_PATH/gcc/bin/g++ +export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH +export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH +``` + +参数说明: +CODE_BASE 为openGauss-server源码目录; +BINARYLIBS 为第一步编译好的三方库二进制目录; +GAUSSHOME 为编译完成的目标文件路径; +GCC_PATH 二进制中,GCC编译结果存放的路径,需要修改里面的openeuler_aarch64为实际的平台信息。 + + + +编译命令如下: +``` +./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --without-readline --without-zlib +make –sj +make install –sj +``` + +### 2.2.编译适配其他系统 + +对于 `centos_7.6` 以及 `openEuler20.03 LTS` 操作系统,可以直接编译。其他系统需要修改代码适配。 + +***修改脚本新增平台:*** + +打开 `openGauss-server/src/get_PlatForm_str.sh`,在里面(134行)增加新的平台信息,例如: + +![](../images/compile/2.2.1.png) + +在 `openGauss-server/build/script/mpp_package.sh:46` 行 +和 `openGauss-server/build/script/package_opengauss.sh:55` 行 +增加平台的信息。 + +![](../images/compile/2.2.2.png) + +***修改Makefile文件*** +打开`openGauss-server/src/gausskernel/Makefile`文件,在702行,复制一份其他系统的并更改为当前平台。 + +![](../images/compile/2.2.3.png) + +***一键编译*** +``` +sh build.sh -m release -3rd /usr2/compile/binarylibs +``` + +***手动编译*** + +参照***2.1编译数据库***的***手动编译***命令,只需要修改 `GCC_PATH` 中平台参数,其他操作保持一致。 +``` +export GCC_PATH=$BINARYLIBS/buildtools/ubuntu_x86_64/gcc7.3/ +``` +![](../images/compile/2.1.1.png) + +### 2.3.编译适配其他版本gcc + +当前openGauss固定编译使用的gcc版本为 `gcc7.3`,如果使用其他gcc版本,例如 `gcc8.2`(支持c11标准),也可以进行编译。需要修改代码适配。 + +***修改配置中的gcc版本为指定版本*** +``` +openGauss-server/configure:936行,gcc_version改为指定版本。 +openGauss-server/build/script/mpp_package.sh 62行和311行(关键字gcc_version),7.3.0改为指定版本。 +``` +configure文件: +![](../images/compile/gcc_conf.png) +mpp_package文件: +![](../images/compile/gcc_mpp1.png) +![](../images/compile/gcc_mpp2.png) + + +***一键编译*** +``` +sh build.sh -m release -3rd /usr2/compile/binarylibs +``` + +***手动编译*** +参照2.1手动编译命令,修改环境变量的gcc版本为指定版本: +``` +export GCC_PATH=$BINARYLIBS/buildtools/openeuler_aarch64/gcc8.2/ +``` +![](../images/compile/2.3.1.png) + +修改configure版本为指定版本: +``` +./configure --gcc-version=8.2.0 ........ +``` +![](../images/compile/2.3.2.png) +其他命令与2.1一致。 \ No newline at end of file -- Gitee