Fail to Compile Make (initializer element is not constant)

Author: rjrockzzCreated Aug 13, 2019Updated Aug 14, 2023

error: initializer element is not constant const uint32_t USERNAME_OFFSET = ID_OFFSET + ID_SIZE; ^~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:56:31: error: initializer element is not constant const uint32_t EMAIL_OFFSET = USERNAME_OFFSET + USERNAME_SIZE; ^~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:57:27: error: initializer element is not constant const uint32_t ROW_SIZE = ID_SIZE + USERNAME_SIZE + EMAIL_SIZE; ^~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:93:33: error: initializer element is not constant const uint32_t IS_ROOT_OFFSET = NODE_TYPE_SIZE; ^~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:95:40: error: initializer element is not constant const uint32_t PARENT_POINTER_OFFSET = IS_ROOT_OFFSET + IS_ROOT_SIZE; ^~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:97:5: error: initializer element is not constant NODE_TYPE_SIZE + IS_ROOT_SIZE + PARENT_POINTER_SIZE; ^~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:103:48: error: initializer element is not constant const uint32_t INTERNAL_NODE_NUM_KEYS_OFFSET = COMMON_NODE_HEADER_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:106:5: error: initializer element is not constant INTERNAL_NODE_NUM_KEYS_OFFSET + INTERNAL_NODE_NUM_KEYS_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:107:44: error: initializer element is not constant const uint32_t INTERNAL_NODE_HEADER_SIZE = COMMON_NODE_HEADER_SIZE + ^~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:117:5: error: initializer element is not constant INTERNAL_NODE_CHILD_SIZE + INTERNAL_NODE_KEY_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:125:45: error: initializer element is not constant const uint32_t LEAF_NODE_NUM_CELLS_OFFSET = COMMON_NODE_HEADER_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:128:5: error: initializer element is not constant LEAF_NODE_NUM_CELLS_OFFSET + LEAF_NODE_NUM_CELLS_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:129:40: error: initializer element is not constant const uint32_t LEAF_NODE_HEADER_SIZE = COMMON_NODE_HEADER_SIZE + ^~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:138:39: error: initializer element is not constant const uint32_t LEAF_NODE_VALUE_SIZE = ROW_SIZE; ^~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:140:5: error: initializer element is not constant LEAF_NODE_KEY_OFFSET + LEAF_NODE_KEY_SIZE; ^~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:141:38: error: initializer element is not constant const uint32_t LEAF_NODE_CELL_SIZE = LEAF_NODE_KEY_SIZE + LEAF_NODE_VALUE_SIZE; ^~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:142:44: error: initializer element is not constant const uint32_t LEAF_NODE_SPACE_FOR_CELLS = PAGE_SIZE - LEAF_NODE_HEADER_SIZE; ^~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:144:5: error: initializer element is not constant LEAF_NODE_SPACE_FOR_CELLS / LEAF_NODE_CELL_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~~~ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:145:46: error: initializer element is not constant const uint32_t LEAF_NODE_RIGHT_SPLIT_COUNT = (LEAF_NODE_MAX_CELLS + 1) / 2; ^ /cygdrive/c/Users/RJ/CLionProjects/DB Minor/rj/db.c:147:5: error: initializer element is not constant (LEAF_NODE_MAX_CELLS + 1) - LEAF_NODE_RIGHT_SPLIT_COUNT; ^ make[3]: *** [CMakeFiles/db.dir/build.make:63: CMakeFiles/db.dir/rj/db.c.o] Error 1 make[2]: *** [CMakeFiles/Makefile2:73: CMakeFiles/db.dir/all] Error 2 make[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/db.dir/rule] Error 2 make: *** [Makefile:118: db] Error 2