直接编译(CentOS/Ubuntu)准备
使用直接编译方式需要注意第三方包的下载一定要下载指定连接的包且务必完整。
一、环境准备
- Centos Linux release 7.7.1908
- GCC 7.3+
- Oracle JDK 1.8+
- Python 2.7+
- Apache Maven 3.5+
- CMake 3.11+
- Bison 3.0+
二、 ???????系统依赖(一次性安装)
如果一次性安装所需软件,可以直接使用官方的如下命令:
sudo yum groupinstall 'Development Tools' && sudo yum install maven cmake byacc flex automake libtool bison binutils-devel zip unzip ncurses-devel curl git wget python2 glibc-static libstdc++-static java-1.8.0-openjdk
三、??????????????手动安装系统依赖
如果单独安装可以参考如下步骤
1、??????????????CMake 3.11+
# 0 基本的务必安装
yum install -y zip unzip curl git wget python2
# 1 下载并解压
# 访问 https://cmake.org/files,比如以 linux x86_64 系统为例,安装 3.11.4,可以下载如下
wget https://cmake.org/files/v3.11/cmake-3.11.4-Linux-x86_64.tar.gz
tar -zxf cmake-3.11.4-Linux-x86_64.tar.gz
# 2 编译或创建软连
#cd cmake-3.11.4-Linux-x86_64
#./bootstrap --prefix=/usr/local/cmake
mv cmake-3.11.4-Linux-x86_64 /usr/local/cmake
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
# 3 添加到环境变量
export PATH=$PATH:/usr/local/cmake/bin
# 查看版本验证
cmake --version
2、??????????????GCC 7.3+
这一步非常重要,最好下载满足条件的版本,耐心的编译,否则因为 GCC 版本或者包的问题容易在编译 Doris 出现一系列莫名的错误,因为 Doris 中依赖了较多的三方库(可以查看thirdparty/vars.sh),其中有些三方库会一般都需要对应的版本对 GCC 有一些要求。
# 1 查看环境中的 gcc 是否满足条件
gcc -v
# 2 环境(必须)
yum groupinstall "Development Tools"
yum install -y glibc-static libstdc++-static
yum install -y byacc flex automake libtool binutils-devel ncurses-devel
# 3 下载 GCC
# 例如这里下载 gcc 7.3.0 版本
# 官网下载页:https://gcc.gnu.org/releases.html
##
# 3.1 方式一【推荐】:编译方式(以 华中科技大源 为例)
wget http://mirror.hust.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz
tar -xf gcc-7.3.0.tar.xz
cd gcc-7.3.0
# 下载需要的包
# 需方访问 ftp://gcc.gnu.org/pub/gcc/infrastructure/,
# 如果失败可以将 mpc-1.0.3.tar.gz、mpfr-3.1.4.tar.bz2、isl-0.16.1.tar.bz2、gmp-6.1.0.tar.bz2 包下载放到项目根目录下
./contrib/download_prerequisites
# 编译
mkdir build
cd build
../configure --prefix=/usr/local/gcc-7.3.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
# 若给的资源不够,会导致编译时间较长
make -j$[$(nproc)/4+1]
make install
# 3.2 方式二:解压后创建软连直接使用
wget https://gfortran.meteodat.ch/download/x86_64/releases/gcc-7.5.0.tar.xz
tar -xf gcc-7.5.0.tar.xz
mv gcc-7.5.0 /usr/local/
# 4【可选】卸载或备份
rpm -q gcc
rpm -e gcc-4.8.5-39.el7.x86_64
rpm -q libmpc
rpm -q mpfr
# 【推荐】备份
mv /usr/bin/gcc /usr/bin/gcc_old
mv /usr/bin/g++ /usr/bin/g++_old
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6_old
# 5 创建软连
ln -s /usr/local/gcc-7.3.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-7.3.0/bin/g++ /usr/bin/g++
cp /usr/local/gcc-7.3.0/lib64/libstdc++.so.6.0.24 /usr/lib64/
ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
ln -s /usr/local/gcc-7.3.0/lib64/libatomic.so.1 /usr/lib64/libatomic.so.1
# 5 查看版本以验证
gcc -v
g++ -v
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
3、??????????????Bison 3.0+
# 1 查看当前系统的 Bsion 版本
bison -V
# 2 如果没有,则需要安装
wget http://ftp.gnu.org/gnu/bison/bison-3.0.5.tar.xz
tar -xf bison-3.0.5.tar.xz
cd bison-3.0.5
mkdir build
cd build
../configure --prefix=/usr/local/bison-3.0.5
make && make install
# 3 替换为新版本
mv /usr/bin/bison /usr/bin/bison_old
ln -s /usr/local/bison-3.0.5/bin/bison /usr/bin/bison
4、??????????????其它
Apache Maven 需要 3.5+ 、Oracle JDK 1.8+ 、Python 2.7+ 这些可自行查找相关资料进行安装。