Hank Nie头像
关注

Ceph基于源码编译(Ubuntu 20.04)

系统版本 Ubuntu 20.04 (Focal Fossa)

编译的ceph版本:18.2.8

以下步骤按顺序执行

源码下载

拉取ceph仓库并切换到tag=18.2.8的分支,然后更新子模块。

apt install curl
FOR_MAKE_CHECK=0 NO_BOOST_PKGS=1 ./install-deps.sh
apt install python3-routes

切换编译工具版本

gcc

切换gcc版本,一定要大于11

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20 --slave /usr/bin/g++ g++ /usr/bin/g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo update-alternatives --auto gcc

CMake

切换CMake版本到3.*:

apt-cache policy cmake | head -40
sudo apt-get install -y --allow-downgrades cmake=3.16.3-1ubuntu1.20.04.1 cmake-data=3.16.3-1ubuntu1.20.04.1
sudo apt-mark hold cmake cmake-data

脚本微调

当前版本要对脚本中chown的对象做一些调整:

cd ~/ceph
sed -i "s|nodeenv-dir}/src'|nodeenv-dir}'|" src/pybind/mgr/dashboard/frontend/CMakeLists.txt

手动安装Boost库

当前版本下,Boost库的请求地址在国内不稳定,稳定下载需要手动安装.

下载

wget -c https://archives.boost.io/release/1.79.0/source/boost_1_79_0.tar.bz2
# 这里默认下载的地址在~/

源代码处理:

rm -rf ~/ceph/src/boost
mkdir -p ~/ceph/src/boost
tar xjf ~/boost_1_79_0.tar.bz2 -C ~/ceph/src/boost --strip-components=1

编译配置

如果系统安装了多个python,一定要使用Focal自带的python版本进行编译配置

./do_cmake.sh -DWITH_SYSTEM_BOOST=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPython3_EXECUTABLE=/usr/bin/python3 -DCMAKE_POLICY_VERSION_MINIMUM=3.5

如果提示有一些command对应的包找不到,补安装然后到ceph/build下运行 cmake . 补一下即可。比如在tan15上碰到的问题是没有jq,那就补安装一下jq:

apt-get install -y jq
cd ceph/build/
cmake .

进行编译

进行编译即可。

ninja -j64

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2504_90738671/article/details/167586638

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--