ceph编译_Ceph编译:L版本及其之后的版本

本文详细介绍了如何编译Ceph L版本及其之后的版本,包括编译前的准备,如安装依赖和解决YUM源问题,以及编译过程,如启用devtoolset、调整cmake参数,并提供了详细的编译选项和安装步骤。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值