<form id="nnldh"></form>

              博客專欄

              EEPW首頁 > 博客 > 超實用干貨(1)-Apache greenplum在aarch64架構體系的適配編譯

              超實用干貨(1)-Apache greenplum在aarch64架構體系的適配編譯

              發布人:中電金信人時間:2022-06-06來源:工程師
              超實用干貨(1)-Apache greenplum在aarch64架構體系的適配編譯


              編譯環境

              操作系統:EulerOS 2.0 sp8

              ● 內核:4.19.36

              ● CPU:aarch64


              編譯所需軟件類別


              cmake-3.23.0-rc1.tar.gz

              下載地址:

              https://cmake.org/files/v3.23/cmake-3.23.0-rc1.tar.gz


              gp-xerces-3.1.2-p1.zip

              下載地址:

              https://github.com/greenplum-db/gp-xer ces/archive/refs/tags/v3.1.2-p1.zip


              ninja-1.10.2.zip

              下載地址:

              https://github.com/ninja-build/ninja/archive /refs/tags/v1.10.2.zip


              re2c-3.0.zip

              下載地址:

              https://github.com/skvadrik/re2c/archive/refs/ta gs/3.0.zip


              zstd-1.5.2.tar.gz

              下載地址:

              https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz


              配置yum源,并安裝如下依賴包


              autoconf

              automake

              libtool

              gcc

              curl-devel

              bzip2-devel

              python-devel

              openssl-devel

              readline-devel

              perl-ExtUtils-Embed

              libxml2-devel

              openldap-devel

              pam

              pam-devel

              apr-devel

              libevent-devel

              libyaml

              libyaml-devel

              libedit-devel

              libffi-devel

              bison

              flex

              flex-devel


              安裝python依賴包


              # 使?pip 進?python包管理,命令如下:

              pip install --upgrade pip

              pip install --no-cache-dir lockfile paramiko setuptools psutil conan


              逐個安裝軟件列表內容


              可以根據每個軟件的readme?件進?安裝


              編譯


              編譯GreenPlum 需要cmake和gcc,在上?操作中已經配置完成,開始前可通過如下命令進?確認


              檢查gcc版本


              [root@RI_BDTL ~]# gcc --version

              gcc (GCC) 7.3.0


              檢查cmake版本


              [root@RI_BDTL ~]# cmake --version

              cmake version 3.23.0-rc1


              準備源碼包


              6.19.1-src-full.tar.gz

              下載地址:

              https://github.com/greenplum-db/gpdb/releases/download/6.19.1/ 6.19.1-src-full.tar.gz


              修改源碼 (6.19.1源碼中沒有對平臺判斷,修改為aarch64?持的指令)


              [root@RI_BDTL packages]# tar -zxvf 6.19.1-src-full.tar.gz

              [root@RI_BDTL packages]# vi gpdb_src/src/backend/gporca/libgpos/includ e/gpos/utils.h

              修改 gpdb_src/src/backend/gporca/libgpos/include/gpos/utils.h 中22?和23?為:

              #define GPOS_ASMFP asm volatile("mov %0, fp" : "=g"(ulp));

              #define GPOS_ASMSP asm volatile("mov %0, sp" : "=g"(ulp));


              編譯,編譯命令使?的readme中的命令,默認是帶orca編譯的,這?通過 --enable-orca 顯示指定了


              [root@RI_BDTL packages]# cd gpdb_src

              # Configure build environment to install at /usr/local/greenplum-6.19.1

              [root@RI_BDTL gpdb_src]# export LD_LIBRARY_PATH=/usr/local/gp-xerces/l ib/ CFLAGS="-I/usr/local/gp-xerces/include" LDFLAGS="-L/usr/local/gp-x erces/lib/"

              [root@RI_BDTL gpdb_src]# ./configure --enable-orca --with-perl --withpython --with-libxml --with-gssapi --prefix=/usr/local/greenplum-6.19.1

              [root@RI_BDTL gpdb_src]# make -j8

              [root@RI_BDTL gpdb_src]# make -j8 install


              漫?的等待之后,出現如下提示,就說明編譯成功了


              Greenplum Database installation complete


              查看編譯結果


              [root@RI_BDTL local]# ls -lrt greenplum-6.19.1/

              總?量 32

              drwx------ 3 gpadmin gpadmin 4096 2? 11 15:47 docs

              drwx------ 4 gpadmin gpadmin 4096 2? 11 16:11 share

              drwx------ 4 gpadmin gpadmin 4096 2? 11 16:14 include

              drwx------ 5 gpadmin gpadmin 4096 2? 11 16:14 lib

              -rw------- 1 gpadmin gpadmin 491 2? 11 16:14 greenplum_path.sh

              drwx------ 2 gpadmin gpadmin 4096 2? 11 16:14 libexec

              drwx------ 2 gpadmin gpadmin 4096 2? 11 16:14 sbin

              drwx------ 7 gpadmin gpadmin 4096 2? 11 16:14 bin


              總結


              編譯過程并不復雜,難點在于有?些依賴包安裝的不全,導致編譯不成功。


              另外就是源碼包6.19.1中對aarch64指令集的修改,使GreenPlum可以正常編譯。


              *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



              關鍵詞: 干貨

              技術專區

              關閉
              丫鬟露出奶头站一排,女人被弄出精水的视频,影音先锋最新AV资源网站

                      <form id="nnldh"></form>