ClickHouse中文社区 大数据

Clickhouse v18编译记录

2018-08-03  本文已影响227人  猴子顶呱呱

简介

编译环境

gcc_path=/data1/home_jencoldeng/gcc_7
export PATH=$gcc_path/bin:${third}/bin:${PATH}
export C_INCLUDE_PATH=/usr/local/include/:${C_INCLUDE_PATH}
export CPLUS_INCLUDE_PATH=${gcc_path}/local/include/c++/6.2.0/:$CPLUS_INCLUDE_PATH
export LD_LIBRARY_PATH=$gcc_path/lib64:$gcc_path/lib:/usr/lib:${LD_LIBRARY_PATH}
export CXX=${gcc_path}/bin/g++ 
export CC=${gcc_path}/bin/gcc 

下载第三方库

[submodule "contrib/poco"]
        path = contrib/poco
        url = https://github.com/ClickHouse-Extras/poco
[submodule "contrib/zstd"]
        path = contrib/zstd
        url = https://github.com/facebook/zstd.git
[submodule "contrib/lz4"]
        path = contrib/lz4
        url = https://github.com/lz4/lz4.git
[submodule "contrib/librdkafka"]
        path = contrib/librdkafka
        url = https://github.com/edenhill/librdkafka.git
[submodule "contrib/cctz"]
        path = contrib/cctz
        url = https://github.com/google/cctz.git
[submodule "contrib/zlib-ng"]
        path = contrib/zlib-ng
        url = https://github.com/Dead2/zlib-ng.git
[submodule "contrib/googletest"]
        path = contrib/googletest
        url = https://github.com/google/googletest.git
[submodule "contrib/capnproto"]
        path = contrib/capnproto
        url = https://github.com/capnproto/capnproto.git
[submodule "contrib/double-conversion"]
        path = contrib/double-conversion
        url = https://github.com/google/double-conversion.git
[submodule "contrib/re2"]
        path = contrib/re2
        url = https://github.com/google/re2.git
[submodule "contrib/ssl"]
        path = contrib/ssl
        url = https://github.com/ClickHouse-Extras/ssl.git
[submodule "contrib/boost"]
        path = contrib/boost
        url = https://github.com/ClickHouse-Extras/boost.git
[submodule "contrib/llvm"]
        path = contrib/llvm
        url = https://github.com/ClickHouse-Extras/llvm
mkdir third
cd third
cat ../ClickHouse-18.5.1-stable/.gitmodules  | grep url| awk '{print $NF}' | while read s;
do 
  echo "=====$s====";
  git clone $s;
done

开始编译生成Makefile文件

cd ClickHouse-18.5.1-stable/build
p=/data1/home_jencoldeng/clickhouse_V18/ClickHouse_install #安装目录
cmake .. -DCMAKE_INSTALL_PREFIX=$p 

CMake错误1:无法找到PCRE库

set(PCRE_INCLUDE_PATH,
        "/data1/home_jencoldeng/clickhouse_V18/third/install/include")
set(PCRE_LIB_PATH,
        "/data1/home_jencoldeng/clickhouse_V18/third/install/lib")
list(APPEND, CMAKE_INCLUDE_PATH, PCRE_INCLUDE_PATH)
list(APPEND, CMAKE_LIBRARY_PATH, PCRE_LIB_PATH)

CMake错误2:没有找到expat库

# $p是需要安装的路径,避免污染全局环境所以安装在自己的目录下
# BUILD_shared是一个选项,表示是否生成共享库
cmake -DBUILD_shared=OFF -DCMAKE_INSTALL_PREFIX=$p && make -j 8 && make install

CMake错误3:没有找到zlib库

CMake错误4:lz4编译有问题

关于Makefile编译

Makefile错误1:zstd编译错

Makefile错误2:zlib编译出错

#include <stdarg.h>
#ifndef z_off64_t
#  define z_off64_t off64_t
#endif

Makefile错误3:Boost连接错误

编译成功

$ ldd bin/clickhouse
        linux-vdso.so.1 =>  (0x00007fffe6fe2000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003a46800000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003a45400000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003bb0a00000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003daa600000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003bafa00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003bafe00000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003bb0600000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003baf600000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003baf200000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003a46000000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003a45800000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003a44c00000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003a45c00000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003a46400000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003a45000000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003bb1a00000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003a43c00000)

后记

上一篇下一篇

猜你喜欢

热点阅读