ceph编译_Ceph编译:L版本及其之后的版本
Ceph编译:L版本及其之后的版本。
1. 编译前准备
下载代码库
git clone git://github.com/ceph/ceph.git all
或者
git clone --recursive https://github.com/ceph/ceph.git
假如想看v13.2.2的代码
只clone一个分支的:
git clone -b v10.2.5 --single-branch git://github.com/ceph/ceph.git single
如果想看v13.2.2分支最后提交的代码:
git clone -b v10.2.5 --single-branch --depth 1 git://github.com/ceph/ceph.git singledep1
使用install-deps.sh解决编译过程中的依赖。首先要解决install-deps执行个安装依赖包很慢的问题:
提前准备好eple:
yum install http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
rm -rf /etc/yum.repos.d/epel*
装完了删除,这个是为了绕过包验证
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
删除慢速的 aliyuncs:
sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
install-deps.sh第72行的需要修改需要修改成aliyun的:
sed -i 's/https:\/\/dl.fedoraproject.org\/pub\//https:\/\/mirrors.aliyun.com\//g' install-deps.sh
同时还要将
$SUDO yum install --nogpgcheck -y epel-release
注释掉,否则还是会安装fedoraproject的epel。
2. 开始编译
2.1
社区已经考虑到Centos下的gcc、cmake版本比较低,不支持C++17,因此在install-deps.sh中处理:
yum install centos-release-scl
yum install devtoolset-7
scl enable devtoolset-7 bash
也可以选择安装devtoolset-8
这样,就可以使用高版本的cmake和gcc了。也就是使用的开发环境,不影响机器上的运行gcc、cmake版本。
2.2 修改do_cmake.sh
注释掉原来的命令,如下:
#cmake -DBOOST_J=$(nproc) $ARGS "$@" ..
添加新的cmake命令参数:
cmake -DCMAKE_C_FLAGS="-O0 -g3 -gdwarf-4" -DCMAKE_CXX_FLAGS="-O0 -g3 -gdwarf-4" -DBOOST_J=$(nproc) $ARGS "$@" ..
解释以上参数的含义:
CMAKE_C_FLAGS=“-O0 -g3 -gdwarf-4” : c 语言编译配置
CMAKE_CXX_FLAGS=“-O0 -g3 -gdwarf-4” :c++ 编译配置
-O0 : 关闭编译器的优化,如果没有,使用GDB追踪程序时,大多数变量被优化,无法显示, 生产环境必须关掉
-g3 : 意味着会产生大量的调试信息
-gdwarf-4 : dwarf 是一种调试格式,dwarf-4 版本为4
进入ceph源码的目录执行
bash do_cmake.sh
这个步骤会创建一个叫build的目录。
进入到build目录
cd build
执行cmake . -LH 查看下ceph有哪些编译选项,根据自己的需要来选择
执行
cmake .. -DWITH_LTTNG=OFF -DWITH_RDMA=OFF -DWITH_FUSE=OFF -DWITH_DPDK=OFF -DCMAKE_INSTALL_PREFIX=/usr
执行make –j8编译源码
执行make install编译安装源码
生成vstart脚本:
cd build
make vstart
ceph编译_Ceph编译:L版本及其之后的版本相关推荐
- ceph编译_Ceph编译安装教程
Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境.Ceph官方目前推荐的安 ...
- Ceph源码编译和调试vstart版本(一)
ceph调试环境及版本 ubuntu18.04 ceph v14.2.22 ceph调试源码部署一个完整集群,使用ceph源码vstart脚本部署. 1.克隆源码仓库 git clone --recu ...
- ceph编译_ceph源代码编译
当前生产环境中我们所使用的ceph版本为jewel版本: # ceph --version ceph version 10.2.10 (5dc1e4c05cb68dbf62ae6fce3f0700e4 ...
- CEPH iSCSI GateWay 编译部署安装
参考链接: https://docs.ceph.com/en/latest/rbd/iscsi-overview/ https://www.enterprisestorageforum.com/sto ...
- 编译包含Google Play服务App的SDK版本问题
编译包含Google Play服务App的SDK版本问题 错误信息:No Resouce identifier found for attribute 'touchscreen BlocksFocus ...
- RN Error: 无法获取此包的编译时间戳。请更新react-native-update到最新版本后重新打包上传。
老项目:RN 0.44.0 react-native-update 4.0.6 注意:如果网不行那得开4G或者5G 之前热更新的时候遇到这样的问题 请问如何进行操作 : edz$ pushy uplo ...
- Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)
实现流程: 手动部署Java项目至后端Web集群 1.搭建Nginx+Tomcat集群架构. 2.开发提交Java源代码至Gitlab仓库. 3.手动获取Java源代码,然后使用Maven进行编译. ...
- libevent linux 编译,libevent 编译debug版本
最近要把linux下面的代码移植到windows下面,因为用到了libevent,需要编译一下. windows 7下编译: 编译环境: windows 7 + VS2010 (1)解压libeven ...
- Jenkins+Gitlab+Nginx+SonarQube+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)
环境拓扑: Jenkins -192.168.1.30 Gitlab -192.168.1.31 LB -192.168.1.32 Web1 -192.168.1.33 Web2 -192. ...
最新文章
- visual studio 添加链接文件
- Python实现跨文件全局变量的方法
- facade java_Java设计模式之Facade模式
- plsql如何执行单个语句_在单个try-with-resources语句中仔细指定多个资源
- 一次SSIS Package的调试经历
- 鸿蒙之光一星辰是什么意思,如果说安卓的目标是太阳,那么鸿蒙的目标就是星辰大海...
- Apache Kafka – KIP 32,33 Time Index
- 特征编码1 - 特征编码概述与分类
- 亿级流量架构服务降级,写得太好了!
- 知识竞赛时,竞赛活动主题及环节主题如何修改?
- 下载pyboard的flash中的驱动程序_教你如何安装打印机驱动程序
- DeepFace介绍
- Pyrene-PEG-Acid,芘丁酸聚乙二醇羧基,Pyrene-PEG-COOH
- 手机通话记录重复显示怎么处理_华为出现重复联系人 - 卡饭网
- C盘清理软件-SpaceSniffer
- python如何实现语音识别
- 进一步的飞鸽传书官方网站消息
- 一枝独秀 BugkuCTF-杂项-MISC
- 图形图像文件格式分类
- P5236 【模板】静态仙人掌(仙人掌圆方树)