centos 7.x下编译安装clickhouse 2.0.0

centos 7.x下编译安装clickhouse 2.0.0clickhouse-cpp 2.0.0这个c++的SDK依赖C++17标准,所以需要先升级gcc,推荐升级gcc到gcc 7.5.0,8版本很

大家好,欢迎来到IT知识分享网。centos

一 gcc安装

clickhouse-cpp 2.0.0这个c++的SDK依赖C++17标准,所以需要先升级gcc,推荐升级gcc到gcc 7.5.0,8版本很多库不好找

1.1 系统依赖库安装

sudo yum -y update
sudo yum -y install bzip2 wget gcc gcc-c++ gmp-devel mpfr-devel libmpc-devel make
sudo yum -y install zlib
sudo yum -y install zlib-devel

1.2 gcc 安装

下载gcc,并解压:

wget  https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
tar  -zxvf  gcc-7.5.0.tar.gz
cd  gcc-7.5.0

安装gcc的依赖包:

./contrib/download_prerequisites
mkdir  gcc-build-7.5
cd  gcc-build-7.5

生成makefile文件:

../configure --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --disable-multilib   

# 耗时30分钟以上
make  -j8
make  install 

可能会遇到automake版本问题,建议升级,使用的升级命令如下:

tar xvf automake-1.15.1.tar.gz
cd automake-1.15.1
./bootstrap.sh
./configure --prefix=/usr
make && make install

替换老的库:

cp  /usr/local/lib64/libstdc++.so.6.0.24  /usr/lib64/
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr  /lib64/libstdc++.so.6.0.24   /usr/lib64/libstdc++.so.6

二 clickhouse-cpp编译

这个编译比较简单,通过cmake编译,编译前需要更改使用gcc的版本:

#在前面添加 
vim CMakeLists.txt
SET(CMAKE_CXX_COMPILER "/usr/local/bin/g++")
SET(CMAKE_C_COMPILER "/usr/local/bin/gcc")

编译

cd clickhouse-cpp.2.0.0  
mkdir build
cd build
cmake ../

编译后,还需要拷贝下:

cp -r /home/xxx/clickhouse-cpp-2.0.0/contrib/* /usr/local/include/

三 静态编译

如果处理clickhouse程序想链接静态库,还需要编译一个库:

wget https://codeload.github.com/google/cityhash/zip/refs/heads/master
unzip cityhash-master.zip
./configure --prefix=/usr
make && make install

链接的时候:

 -lcityhash  -static-libgcc -static-libstdc++ -lclickhouse-cpp-lib-static

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/58937.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信