好不容易前面的 ./configure 终于过了,不过需要 --without-libxfs
configure: error: xfs/xfs.h not found (--without-libxfs to disable)
通过 sudo apt-get install xfslibs-dev 解决了上述问题。
安装了很多很多的依赖包,然后来到了编译阶段
结果报了如下错误:
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.
操作系统:Ubuntu Server 14.04 Beta2,
软件版本:Ceph 0.72.2
终于知道问题所在了,这份代码是直接从https://github.com/ceph/ceph.git上克隆下来的最新版本有问题。如果从 官网上直接下载压缩包的是没问题的。
@oscfox你没有出现这个问题?
没有,./configure之前#CXXFLAGS=”-g”了没。看来是makefile没生成对,分析一下./configure的log吧
终于知道问题所在了,这份代码是直接从https://github.com/ceph/ceph.git上克隆下来的最新版本有问题。如果从 官网上直接下载压缩包的是没问题的。
恩。git下来的或多或少有问题。。。我用的0.87版本的tar包编译就没有问题。
错误原因原来是这样的:
ceph在github上,还有好多的submodules,如:
src/erasure-code/jerasure/gf-complete
src/erasure-code/jerasure/jerasure
src/libs3
src/rocksdb
gitclonehttps://github.com/ceph/ceph.git是不会取这下submodule的代码的。
而上面编译ceph遇到的错误就是:编译过程中用到了erasure-code/jerasure/jerasure/src/cauchy.c,由于没有gitsubmodule,所以找不到这个文件而报错。
解决方法:
把submodule的代码也取下来
gitsubmoduleupdate--init--recursive
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。