基于ubuntu16.04的ceph v10.2.9源码编译

编程入门 行业动态 更新时间:2024-10-08 18:37:22

基于ubuntu16.04的ceph v10.2.9<a href=https://www.elefans.com/category/jswz/34/1770099.html style=源码编译"/>

基于ubuntu16.04的ceph v10.2.9源码编译

1.环境准备
在进行源码编译之前首先安装源码编译过程中可能用到的安装包。

apt install libtool automake cmake gcc g++ cython snappy libsnappy-dev
libleveldb-dev libblkid-dev libudev-dev libkeyutils-dev libcrypto++-dev libfcgi-dev  libcurl4-openssl-dev libcurl4-gnutls-dev libcurlpp-dev openssl  libssl-dev  fuse libfuse-dev libatomic-ops-dev librocksdb-dev libaio-dev  xfslibs-dev  libboost-all-dev libldap-dev

安装包非常多,不同平台依赖不一样,可以根据平台configure提示安装。

2.编译代码
安装完编译环境后,可以进行代码编译。

./install-deps.sh
./autogen.sh
./configure  --without-tcmalloc --without-librocksdb-static --with-rados --with-radosgw --with-radosstriper
make -j4

其中,–without-librocksdb-static主要是给bluestore使用。

注意,如果是从git下载的zip源码,解压后会出现编译错误:

错误1:

./include/rados/memory.h:1:1: error: expected unqualified-id before ‘.’ token../memory.h

需要将对应的文件修改为:

vim src/include/rados/memory.h
../memory.h ---> #include "../memory.h"
vim src/include/rados/buffer.h
../buffer.h ----> #include "../buffer.h"

错误2:

In file included from os/bluestore/BlueRocksEnv:4:0:
os/bluestore/BlueRocksEnv.h:10:42: fatal error: rocksdb/utilities/env_mirror.h: No such file or directory

修改:

cd src
git clone .git
git clone .git

错误3:

/bin/bash: ./make_version: Permission denied

修改:

chmod +x src/make_version

错误4:

make[3]: *** No rule to make target 'erasure-code/jerasure/jerasure/src/cauchy.c', needed by 'erasure-code/jerasure/jerasure/src/libec_jerasure_generic_la-cauchy.lo'.  Stop

修改:
由于此类缺少文件的错误太多,这里不一一赘述,最终采取下载官方源码或者git下载然后递归下载子模块的方式排除此类错误。

接下来就是漫长的等待期了。。。。

更多推荐

基于ubuntu16.04的ceph v10.2.9源码编译

本文发布于:2024-02-27 15:43:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707186.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码   ceph

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!