1.gcc10安装
安装依赖
yum update
yum install -y gcc gcc-c++
yum install -y bzip2
下载gcc 源码包并解压
wget -P /data/base https://mirrors.aliyun.com/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
cd /data/base && tar -xzvf /data/base/gcc-10.2.0.tar.gz
cd /data/base/gcc-10.2.0 && ./contrib/download_prerequisites
mkdir /usr/lib/gcc/x86_64-redhat-linux/10.2.0
mkdir /data/base/gcc-build-10.2.0
cd /data/base/gcc-build-10.2.0
配置、编译和安装
../gcc-10.2.0/configure --prefix=/usr/lib/gcc/x86_64-redhat-linux/10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 && make install
初始化gcc
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8.5 88 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-gcc 99 --slave /usr/bin/g++ g++ /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-g++
alternatives --config gcc
安装完成查看版本
2.安装re2c
re2c是一个根据正则表达式子,生成对应c代码的程序
yum -y install git automake libtool
git clone https://github.com.cnpmjs.org/skvadrik/re2c.git re2c
或者git clone https://gitee.com/gitmirror/re2c.git re2c
cd re2c
mkdir -p m4
./autogen.sh && ./configure --prefix=/usr && make
make install
3.安装cmake
安装cmake 3.15 及3.15以上版本
yum install -y openssl-devel
wget https://cmake.org/files/v3.22/cmake-3.22.0.tar.gz
tar -zxvf cmake-3.22.0.tar.gz
cd cmake-3.22.0
./bootstrap
gmake
gamke install
查看cmake版本
4.安装ninja
Ninja 是 Google 的一名程序员推出的注重速度的构建工具,一般在 Unix/Linux 上的程序通过 make/makefile 来构建编译,而 Ninja 通过将编译任务并行组织,大大提高了构建速度。
## 安装ninja
git clone https://ghproxy.com/https://github.com/ninja-build/ninja.git ninja
cd ninja
cmake -Bbuild-cmake -H.
cmake --build build-cmake
cp build-cmake/ninja /usr/bin/
查看版本
ninja --version
5.安装python3
安装依赖
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel python-pip libffi-devel
下载源码包并解压
mv /usr/bin/python /usr/bin/python.bak
wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz
tar -zxvf Python-3.8.16.tgz
配置、编译和安装
./configure prefix=/usr/local/python3
make -j3 && make install
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
修改yum使用的python版本为python2
#修改yum配置
vim /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vim /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python修改为#! /usr/bin/python2
查看版本
6.安装clickhouse
clone clickhouse源码
# 替换github的源
git config --global url."https://ghproxy.com/https://github.com/".insteadOf https://github.com/
git clone https://github.com/ClickHouse/ClickHouse
cd ClickHouse
切换到指定版本
# 查看版本列表
git tag -l
# 切换到指定版本
git checkout -b v21.7.5.29-stable
同步子模块
git submodule sync
git submodule update --init --recursive
cmake配置项目
mkdir build & cd build
cmake -DCMAKE_INSTALL_PREFIX=/data/olap/clickhouse-v21.7.5.29 ../
编译和安装
ninja -j4 clickhouse