美文网首页后端砖头
centos 7.x下编译安装clickhouse 2.0.0

centos 7.x下编译安装clickhouse 2.0.0

作者: 明翼 | 来源:发表于2022-03-12 10:25 被阅读0次

    一 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
    

    相关文章

      网友评论

        本文标题:centos 7.x下编译安装clickhouse 2.0.0

        本文链接:https://www.haomeiwen.com/subject/ufasrrtx.html