ClickHouse系列教程: ClickHouse系列教程


参考上一篇博客: ClickHouse系列教程六:源码分析之Debug编译运行


先安装 gcc 8, g++ 8, cmake 3, ninja ,参考这篇博客:在CentOS/Debian/Ubuntu上编译安装最新版 GCC 8 , cmake 3 和ninja
然后安装最新的glibc,参考这篇博客:在centos上安装最新的glibc

然后clone,编译,安装:

git clone --recursive --branch stable https://github.com/yandex/ClickHouse.git
cd ClickHouse
mkdir build && cd build
cmake .. -DCMAKE_CXX_COMPILER=`which g++` -DCMAKE_C_COMPILER=`which gcc`
ninja -j1

如果在编译的时候报错:

FAILED: libs/libglibc-compatibility/CMakeFiles/glibc-compatibility.dir/musl/getentropy.c.o
/usr/local/bin/gcc  -I../libs/libglibc-compatibility/libcxxabi -fdiagnostics-color=always  -pipe -msse4.1 -msse4.2 -mpopcnt -fno-omit-frame-pointer  -Wall  -no-pie -Werror -O2 -g -DNDEBUG -O3 -MD -MT libs/libglibc-compatibility/CMakeFiles/glibc-compatibility.dir/musl/getentropy.c.o -MF libs/libglibc-compatibility/CMakeFiles/glibc-compatibility.dir/musl/getentropy.c.o.d -o libs/libglibc-compatibility/CMakeFiles/glibc-compatibility.dir/musl/getentropy.c.o   -c ../libs/libglibc-compatibility/musl/getentropy.c
../libs/libglibc-compatibility/musl/getentropy.c:3:10: fatal error: sys/random.h: No such file or directory#include <sys/random.h>^~~~~~~~~~~~~~
compilation terminated.
[2498/4024] Building CXX object libs/libcommon/src/tests/CMakeFiles/unit_tests_libcommon.dir/gtest_json_test.cpp.o
ninja: build stopped: subcommand failed.

这个错误是因为libc的版本太古老了,解决方法是升级glibc的版本:linux - getrandom syscall in C not found - Stack Overflow
在2017年的glibc 2.25版本中增加了<sys/random.h>头文件,详情:Siddhesh Poyarekar - The GNU C Library version 2.25 is now available

在centos上安装最新的glibc的教程参考文章:在centos上安装最新的glibc

ClickHouse系列教程七:centos下源码编译安装及报错解决相关推荐

  1. centos lnmp源码安装mysql_CentOS 6.6 下源码编译安装MySQL 5.7.5

    说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具 # yum -y install gcc-c++ ncurses-devel cmake make perl \ ...

  2. Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录

    Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...

  3. Centos 7 源码编译安装 mysql

    文章目录 Centos 7 源码编译安装 mysql 1. 卸载 centos 自带的 mariadb 2. 下载 mysql 3. 安装 mysql 3.1 解压压缩包 3.1.1 自定义解压安装目 ...

  4. ubuntu安装python_ubuntu18.04下源码编译安装最新版本Python3

    原文链接:ubuntu18.04下源码编译安装最新版本Python3 截止到2019年4月9日,Python3最新的版本是3.7.3. 在ubuntu18.04中已经安装的Python3版本是3.6. ...

  5. python版本升级后编译_ubuntu18.04下源码编译安装最新版本Python3

    截止到2019年4月9日,Python3最新的版本是3.7.3. 在ubuntu18.04中已经安装的Python3版本是3.6.7,下面我们就演示一下如何在ubuntu18.04下源码编译安装Pyt ...

  6. CentOS7下源码编译安装MySQL5.6.4

    CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...

  7. Linux 下源码编译安装 vim 8.1

    前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...

  8. Linux下源码编译安装新版libxcb

    前言 上一篇文章提到,linux 下编译Qt源码如果要用到Quick的话,那么运行时会依赖qxcb库,而编译生成qxcb库就需要先安装libxcb,并且最低要求 版本大于1.9.1 Requires ...

  9. 【Python 笔记】Linux 下源码编译安装 python

    本文记录在 Linux 上源码编译安装 python 的过程. 文章目录 1. 源码编译安装说明 2. 安装 python2.7 3. 安装 python3.6 1. 源码编译安装说明 安装过程比我想 ...

最新文章

  1. django celery
  2. UML博客建模--模块与类图
  3. linux用不用装固态硬盘驱动,固态硬盘要不要安装驱动?总算弄明白了
  4. 开始简单项目的第二周
  5. linux安装php pgsql,Linux下apache php+phppgadmin+postgresql安装配置
  6. 利用STL离散化处理数据(unique)
  7. -9 逆序输出一个整数的各位数字_逆序对个数(归并排序)
  8. 虚拟机服务器实验三十一 Windows Server 2012 RDS桌面虚拟化之二VDI标准部署之托管共享桌面虚拟化...
  9. html引入html include_PostgreSQL引入插件EXTENSION的常用方法
  10. 使用jQuery快速高效制作网页交互特效(1)
  11. SQLite 之 C#版 System.Data.SQLite 使用
  12. 五款好用的项目进度管理甘特图软件,总有一款能满足你的需求
  13. 地球上最厉害的字体:Helvetica
  14. 数理统计:方差分析与正交试验设计
  15. C++关键字(static/register/atuo/extern/volatile/const)释疑
  16. PYMOL-note
  17. 实战:搭建高效率生鲜B2B平台八大模块及技术要求
  18. 14个PPT资源素材网站,再也不怕做PPT了
  19. 一起看 I/O | Flutter 3 更新详解
  20. A Game of Thrones(84)

热门文章

  1. PostgreSQL11.3 创建用户和创建数据库
  2. java timer和timertask_Timer和TimerTask与Java中的线程+睡眠
  3. livechart 只显示 y 值_基于Python语言的SEGY格式地震数据读取与显示编程
  4. 南方医科大学珠江医院检验医学部生物信息分析师招聘启示
  5. Nature子刊:涵盖20多万个基因组的人体肠道微生物参考基因组集
  6. NBT:南农突破成果—噬菌体:土壤“狙击手”激发根际防御军团(附视频)
  7. 宏基因组实战4. 基因注释Prokka
  8. 中文扩增子分析视频教程推荐
  9. CSDN付费专栏写作感悟及成长之路、兼论学习会员模式的创作者协同效应
  10. pandas读取csv文件的前几行数据(nrows参数)、pandas读取csv文件的中间几行数据(skiprows=range(a,b))