openEuler 22.03 x86_64
新系统需要安装
pythonsudo dnf install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel jemalloc-devel libcgroup-devel libcurl-devel libedit-devel libxml2-devel lz4-devel numactl-devel unixODBC-devel zstd zstd-devel java-1.8.0-openjdk-devel openssl-devel
### openEuler安装lsb_release
sudo dnf install dkms -y
sudo dnf install -y git make cmake nano tar
根据自己系统选择不同的第三方库
可以通过以下网站获取编译好的binarylibs。下载后请解压缩并重命名为binarylibs。
各版本和分支对应编译好的三方库二进制地址如下:
注:6.0.0及以后的版本请使用gcc10.3的三方库进行编译
bashscp ./openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz zhousk@172.19.0.131:/home/llm10086
bashtar -xzvf /home/llm10086/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz
bashmv /home/llm10086/openGauss-third_party_binarylibs_openEuler_2203_x86_64.tar.gz /home/llm10086/binarylibs
bashgit clone https://gitcode.com/opengauss/openGauss-server.git
cd openGauss-server
pwd
# 输出当前路径
bashnano ~/.bashrc
写入下面内容
bashexport PATH
export CODE_BASE=/home/llm10086/project/openGauss-server # openGauss-server的路径
export BINARYLIBS=/home/llm10086/binarylibs # binarylibs的路径
export GAUSSHOME=$CODE_BASE/dest/
export GCC_PATH=$BINARYLIBS/buildtools/gcc10.3 # gcc的版本,根据三方包中对应的gcc版本进行填写即可,一般有gcc7.3或gcc10.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/:$LD_LIBRARY_PATH
# :$GCC_PATH/gmp/lib/
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH
Ctrl + X 保存
debug版本:
# gcc10.3.1版本(一般用于openEuler + ARM架构) ./configure --gcc-version=10.3.1 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib # gcc10.3.0版本 ./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
release版本:
# gcc10.3.1版本(一般用于openEuler + ARM架构) ./configure --gcc-version=10.3.1 CC=g++ CFLAGS="-O2 -g3" --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-thread-safety --with-readline --without-zlib # gcc10.3.0版本 ./configure --gcc-version=10.3.0 CC=g++ CFLAGS="-O2 -g3" --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-thread-safety --with-readline --without-zlib
memcheck版本:
# gcc10.3.1版本(一般用于openEuler + ARM架构) ./configure --gcc-version=10.3.1 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib --enable-memory-check # gcc10.3.0版本 ./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib --enable-memory-check
注意
- [debug | release | memcheck] 表示有三个目标版本可用。
- 在ARM平台上,需要把 -D__USE_NUMA 添加至 CFLAGS 中。
- 在ARMv8.1及以上平台(如鲲鹏920),需要把 -D__ARM_LSE 添加至CFLAGS中。
- 如果binarylibs被移至openGauss-server中,或者在openGauss-server中创建了到binarylibs的软链接,则不需要指定 --3rd 参数。但请注意,这样做的话,该文件很容易被
git clean
命令删除。
bashmake -j8 make install -j8
显示如下信息,表示编译和安装成功。
openGauss installation complete.
本文作者:司小远
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!