---
title: 编译Ceph并验证
description: "1. 修改“yum.conf”文件。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2400/sds/kunpengecturbo_20_0009.html
sourcePath: /source/zh/kunpengboostkithistory/2400/sds/kunpengecturbo_20_0009.html
indexId: 740bff1bd58d3e5315d6dc0f97000a9081a5152ca0c5d17a90900da24cd70c1c70
---
# 编译Ceph并验证

#### 编译环境准备

1. 修改“yum.conf”文件。

  a. 打开文件。
    1 vim /etc/yum.conf

  b. 按“i”进入编辑模式，添加“sslverify=false”和“deltarpm=0”。
  c. 按“Esc”键退出编辑模式，输入:wq!后按“Enter”键保存并退出文件。
2. （可选）修改scl repo文件。
  仅使用CentOS 7.6操作系统时需要修改该文件。
  a. 下载并打开文件。
    1 2 yum -y install centos-release-scl vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

  b. 按“i”进入编辑模式，修改“http”为“https”。
  c. 按“Esc”键退出编辑模式，输入:wq!后按“Enter”键保存并退出文件。


3. （可选）修改dashboard的requirements.txt。
  仅使用CentOS 7.6操作系统时需要修改该文件。
  a. 打开文件。
    1 vim /home/ceph-14.2.8/src/pybind/mgr/dashboard/requirements.txt

  b. 按“i”进入编辑模式，注释pyopenssl。
  c. 按“Esc”键退出编辑模式，输入:wq!后按“Enter”键保存并退出文件。


#### 编译软件

1. 升级isa-l。
由于Ceph 14.2.8源码自带的isa-l的版本较低，需要升级isa-l。

  a. 进入“src”目录。
    1 cd /home/ceph-14.2.8/src

  b. 备份原有isa-l，获取最新isa-l 2.29源码。
    1 2 3 4 mv isa-l isa-l.bak wget https://github.com/intel/isa-l/archive/refs/tags/v2.29.0.tar.gz --no-check-certificate tar -xzvf v2.29.0.tar.gz mv isa-l-2.29.0 isa-l

  c. 修改ISA部分代码，适配aarch64。
    具体修改内容请参考Github(https://github.com/intel/isa-l/pull/172/files#diff-bc8cf88ff358e79a71c59968b5909fab53becf65dc8d644d02ee672907deabfd)。 该文件中红色代码行为删除内容，绿色代码行为新增修改内容。

    升级成功后，在“isa-l/erasure_code/”目录下有“aarch64”目录。

2. 安装依赖。

  - CentOS 7.6：
    1 2 3 4 yum -y install epel-release yum -y install python36-scipy.aarch64 cd /home/ceph-14.2.8/ sh install-deps.sh

  - openEuler 20.03：
    1 2 cd /home/ceph-14.2.8/ sh install-deps.sh

3. 修改“do_cmake.sh”。

  a. 打开文件。
    1 vim do_cmake.sh

  b. 按“i”进入编辑模式，进行如下修改，

```
${CMAKE} -DCMAKE_BUILD_TYPE=RelWithDebInfo $ARGS "$@" .. || exit 1
```


    并注释“git submodule update --init --recursive”，防止做RPM包时将isa-l回退到旧版。

  c. 按“Esc”键退出编辑模式，输入:wq!后按“Enter”键保存并退出文件。
4. 执行“do_cmake.sh”。
  1 sh do_cmake.sh

5. 编译。
  编译环境需要gcc 7及以上版本，用户需准备好编译环境。下文中的{number}指编译时的job数量，一般情况下该数值越大编译速度越快，但不应超过CPU核数量。 1 2 cd /home/ceph-14.2.8/build make -j{number}

6. UT测试。
  1 ctest3 -V -R unittest_erasure_code

7. 删除“build”目录。
  1 2 cd /home/ceph-14.2.8/ rm -rf build
