All: I download Luminous RC1 code and try to make compile environment on my machine. After installing so many required packages in my CentOS 7.1, I got “Makefile” in the root directory from “cmake -LH” command. After that, I input "make" command to build the branch, But I found "build.c" can't pass compile. Messages are followed. [root@cephadmin ceph-12.1.0]# make [ 0%] Built target Boost [ 0%] Built target Boost.boost [ 0%] Built target compressor_objs [ 1%] Building C object src/CMakeFiles/crush_objs.dir/crush/builder.c.o In file included from /root/code/ceph-12.1.0/src/crush/builder.c:5:0: /root/code/ceph-12.1.0/src/include/assert.h:25:1: 错误:未知的类型名‘class’ class CephContext; ^ /root/code/ceph-12.1.0/src/include/assert.h:65:37: 错误:expected declaration specifiers or ‘...’ before ‘CephContext’ extern void register_assert_context(CephContext *cct); ^ In file included from /root/code/ceph-12.1.0/src/crush/crush_compat.h:6:0, from /root/code/ceph-12.1.0/src/crush/crush.h:7, from /root/code/ceph-12.1.0/src/crush/builder.c:8: /root/code/ceph-12.1.0/src/crush/builder.c: 在函数‘crush_add_rule’中: /root/code/ceph-12.1.0/src/include/assert.h:118:6: 错误:‘static_cast’未声明(在此函数内第一次使用) ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:75:3: 附注:in expansion of macro ‘assert’ assert(r < CRUSH_MAX_RULES); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:6: 附注:每个未声明的标识符在其出现的函数内只报告一次 ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:75:3: 附注:in expansion of macro ‘assert’ assert(r < CRUSH_MAX_RULES); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:75:3: 附注:in expansion of macro ‘assert’ assert(r < CRUSH_MAX_RULES); ^ /root/code/ceph-12.1.0/src/crush/builder.c: 在函数‘crush_rule_set_step’中: /root/code/ceph-12.1.0/src/include/assert.h:118:6: 错误:‘static_cast’未声明(在此函数内第一次使用) ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:120:2: 附注:in expansion of macro ‘assert’ assert((__u32)n < rule->len); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:120:2: 附注:in expansion of macro ‘assert’ assert((__u32)n < rule->len); ^ /root/code/ceph-12.1.0/src/crush/builder.c: 在函数‘crush_remove_bucket’中: /root/code/ceph-12.1.0/src/include/assert.h:118:6: 错误:‘static_cast’未声明(在此函数内第一次使用) ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:181:8: 附注:in expansion of macro ‘assert’ assert(pos < map->max_buckets); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:181:8: 附注:in expansion of macro ‘assert’ assert(pos < map->max_buckets); ^ /root/code/ceph-12.1.0/src/crush/builder.c: 在函数‘crush_make_tree_bucket’中: /root/code/ceph-12.1.0/src/include/assert.h:118:6: 错误:‘static_cast’未声明(在此函数内第一次使用) ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:386:2: 附注:in expansion of macro ‘BUG_ON’ BUG_ON(bucket->node_weights[bucket->num_nodes/2] != bucket->h.weight); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:386:2: 附注:in expansion of macro ‘BUG_ON’ BUG_ON(bucket->node_weights[bucket->num_nodes/2] != bucket->h.weight); ^ /root/code/ceph-12.1.0/src/crush/builder.c: 在函数‘crush_make_choose_args’中: /root/code/ceph-12.1.0/src/include/assert.h:118:6: 错误:‘static_cast’未声明(在此函数内第一次使用) ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:1425:3: 附注:in expansion of macro ‘BUG_ON’ BUG_ON(space + size != ids_end); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:1425:3: 附注:in expansion of macro ‘BUG_ON’ BUG_ON(space + size != ids_end); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:1450:3: 附注:in expansion of macro ‘BUG_ON’ BUG_ON((char*)weight_set_ends != (char*)weight_set); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:1451:3: 附注:in expansion of macro ‘BUG_ON’ BUG_ON((char*)weights_end != (char*)weights); ^ /root/code/ceph-12.1.0/src/include/assert.h:118:18: 错误:expected expression before ‘void’ ? static_cast<void> (0) \ ^ /root/code/ceph-12.1.0/src/crush/builder.c:13:19: 附注:in expansion of macro ‘assert’ #define BUG_ON(x) assert(!(x)) ^ /root/code/ceph-12.1.0/src/crush/builder.c:1452:3: 附注:in expansion of macro ‘BUG_ON’ BUG_ON((char*)ids != (char*)ids_end); ^ make[2]: *** [src/CMakeFiles/crush_objs.dir/crush/builder.c.o] 错误 1 make[1]: *** [src/CMakeFiles/crush_objs.dir/all] 错误 2 make: *** [all] 错误 2 Who can tell me how to resolve the problem. Thanks -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html