+ case "${usergroup_phase}" in + local run_cmd + run_cmd=run_su + shift + run_su /opt/local/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/watchman-4.7.0nb1/work.log + su pbulk -c '"$@"' make /opt/local/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/watchman-4.7.0nb1/work.log => Bootstrap dependency digest>=20211023: found digest-20211023 ===> Building for watchman-4.7.0nb1 /opt/local/bin/gmake all-am gmake[1]: Entering directory '/home/pbulk/build/sysutils/watchman/work/watchman-4.7.0' CC watchman-argv.o CC watchman-envp.o CC watchman-spawn.o CC watchman-opt.o CC watchman-cfg.o CC watchman-clockspec.o CC watchman-checksock.o CC watchman-fstype.o CC watchman-log.o log.c: In function 'crash_handler': log.c:78:5: warning: implicit declaration of function 'dprintf'; did you mean 'vprintf'? [-Wimplicit-function-declaration] 78 | dprintf(STDERR_FILENO, | ^~~~~~~ | vprintf CC watchman-ignore.o CC watchman-json.o CC watchman-bser.o CC watchman-expflags.o CC watchman-hash.o hash.c: In function 'w_hash_bytes': hash.c:228:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 228 | case 12: c+=((uint32_t)k[11])<<24; | ~^~~~~~~~~~~~~~~~~~~~~~~ hash.c:229:7: note: here 229 | case 11: c+=((uint32_t)k[10])<<16; | ^~~~ hash.c:229:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 229 | case 11: c+=((uint32_t)k[10])<<16; | ~^~~~~~~~~~~~~~~~~~~~~~~ hash.c:230:7: note: here 230 | case 10: c+=((uint32_t)k[9])<<8; | ^~~~ hash.c:230:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 230 | case 10: c+=((uint32_t)k[9])<<8; | ~^~~~~~~~~~~~~~~~~~~~~ hash.c:231:7: note: here 231 | case 9 : c+=k[8]; | ^~~~ hash.c:231:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 231 | case 9 : c+=k[8]; | ~^~~~~~ hash.c:232:7: note: here 232 | case 8 : b+=((uint32_t)k[7])<<24; | ^~~~ hash.c:232:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 232 | case 8 : b+=((uint32_t)k[7])<<24; | ~^~~~~~~~~~~~~~~~~~~~~~ hash.c:233:7: note: here 233 | case 7 : b+=((uint32_t)k[6])<<16; | ^~~~ hash.c:233:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 233 | case 7 : b+=((uint32_t)k[6])<<16; | ~^~~~~~~~~~~~~~~~~~~~~~ hash.c:234:7: note: here 234 | case 6 : b+=((uint32_t)k[5])<<8; | ^~~~ hash.c:234:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 234 | case 6 : b+=((uint32_t)k[5])<<8; | ~^~~~~~~~~~~~~~~~~~~~~ hash.c:235:7: note: here 235 | case 5 : b+=k[4]; | ^~~~ hash.c:235:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 235 | case 5 : b+=k[4]; | ~^~~~~~ hash.c:236:7: note: here 236 | case 4 : a+=((uint32_t)k[3])<<24; | ^~~~ hash.c:236:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 236 | case 4 : a+=((uint32_t)k[3])<<24; | ~^~~~~~~~~~~~~~~~~~~~~~ hash.c:237:7: note: here 237 | case 3 : a+=((uint32_t)k[2])<<16; | ^~~~ hash.c:237:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 237 | case 3 : a+=((uint32_t)k[2])<<16; | ~^~~~~~~~~~~~~~~~~~~~~~ hash.c:238:7: note: here 238 | case 2 : a+=((uint32_t)k[1])<<8; | ^~~~ hash.c:238:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 238 | case 2 : a+=((uint32_t)k[1])<<8; | ~^~~~~~~~~~~~~~~~~~~~~ hash.c:239:7: note: here 239 | case 1 : a+=k[0]; | ^~~~ CC watchman-ht.o CC watchman-ioprio.o CC watchman-opendir.o opendir.c: In function 'realpath_fd': opendir.c:190:28: warning: unused parameter 'fd' [-Wunused-parameter] 190 | static int realpath_fd(int fd, char *canon, size_t canon_size) { | ~~~~^~ CC watchman-pending.o CC watchman-perf.o CC watchman-stream.o CC watchman-stream_stdout.o CC watchman-stream_unix.o stream_unix.c: In function 'unix_peer_is_owner': stream_unix.c:71:23: warning: unused variable 'h' [-Wunused-variable] 71 | struct unix_handle *h = stm->handle; | ^ CC watchman-timedlock.o CC cmds/watchman-find.o CC cmds/watchman-info.o CC cmds/watchman-log.o CC cmds/watchman-query.o CC cmds/watchman-since.o CC cmds/watchman-reg.o CC cmds/watchman-state.o CC cmds/watchman-subscribe.o CC cmds/watchman-trigger.o CC cmds/watchman-watch.o CC cmds/watchman-debug.o CC query/watchman-base.o CC query/watchman-dirname.o CC query/watchman-parse.o CC query/watchman-eval.o CC query/watchman-glob.o CC query/watchman-intcompare.o CC query/watchman-type.o CC query/watchman-suffix.o CC query/watchman-match.o CC query/watchman-pcre.o CC query/watchman-name.o CC query/watchman-fieldlist.o CC query/watchman-since.o CC query/watchman-empty.o CC watcher/watchman-auto.o CC watcher/watchman-fsevents.o CC watcher/watchman-inotify.o watcher/inotify.c:22:4: error: 'IN_ACCESS' undeclared here (not in a function); did you mean 'AT_EACCESS'? 22 | {IN_ACCESS, "IN_ACCESS"}, | ^~~~~~~~~ | AT_EACCESS watcher/inotify.c:23:4: error: 'IN_MODIFY' undeclared here (not in a function) 23 | {IN_MODIFY, "IN_MODIFY"}, | ^~~~~~~~~ watcher/inotify.c:24:4: error: 'IN_ATTRIB' undeclared here (not in a function); did you mean 'FILE_ATTRIB'? 24 | {IN_ATTRIB, "IN_ATTRIB"}, | ^~~~~~~~~ | FILE_ATTRIB watcher/inotify.c:25:4: error: 'IN_CLOSE_WRITE' undeclared here (not in a function) 25 | {IN_CLOSE_WRITE, "IN_CLOSE_WRITE"}, | ^~~~~~~~~~~~~~ watcher/inotify.c:26:4: error: 'IN_CLOSE_NOWRITE' undeclared here (not in a function) 26 | {IN_CLOSE_NOWRITE, "IN_CLOSE_NOWRITE"}, | ^~~~~~~~~~~~~~~~ watcher/inotify.c:27:4: error: 'IN_OPEN' undeclared here (not in a function) 27 | {IN_OPEN, "IN_OPEN"}, | ^~~~~~~ watcher/inotify.c:28:4: error: 'IN_MOVED_FROM' undeclared here (not in a function) 28 | {IN_MOVED_FROM, "IN_MOVED_FROM"}, | ^~~~~~~~~~~~~ watcher/inotify.c:29:4: error: 'IN_MOVED_TO' undeclared here (not in a function) 29 | {IN_MOVED_TO, "IN_MOVED_TO"}, | ^~~~~~~~~~~ watcher/inotify.c:30:4: error: 'IN_CREATE' undeclared here (not in a function); did you mean 'O_CREAT'? 30 | {IN_CREATE, "IN_CREATE"}, | ^~~~~~~~~ | O_CREAT watcher/inotify.c:31:4: error: 'IN_DELETE' undeclared here (not in a function); did you mean 'FILE_DELETE'? 31 | {IN_DELETE, "IN_DELETE"}, | ^~~~~~~~~ | FILE_DELETE watcher/inotify.c:32:4: error: 'IN_DELETE_SELF' undeclared here (not in a function) 32 | {IN_DELETE_SELF, "IN_DELETE_SELF"}, | ^~~~~~~~~~~~~~ watcher/inotify.c:33:4: error: 'IN_MOVE_SELF' undeclared here (not in a function) 33 | {IN_MOVE_SELF, "IN_MOVE_SELF"}, | ^~~~~~~~~~~~ watcher/inotify.c:34:4: error: 'IN_UNMOUNT' undeclared here (not in a function); did you mean 'NMOUNT'? 34 | {IN_UNMOUNT, "IN_UNMOUNT"}, | ^~~~~~~~~~ | NMOUNT watcher/inotify.c:35:4: error: 'IN_Q_OVERFLOW' undeclared here (not in a function); did you mean 'EOVERFLOW'? 35 | {IN_Q_OVERFLOW, "IN_Q_OVERFLOW"}, | ^~~~~~~~~~~~~ | EOVERFLOW watcher/inotify.c:36:4: error: 'IN_IGNORED' undeclared here (not in a function) 36 | {IN_IGNORED, "IN_IGNORED"}, | ^~~~~~~~~~ watcher/inotify.c:37:4: error: 'IN_ISDIR' undeclared here (not in a function); did you mean 'S_ISDIR'? 37 | {IN_ISDIR, "IN_ISDIR"}, | ^~~~~~~~ | S_ISDIR watcher/inotify.c:59:44: error: invalid application of 'sizeof' to incomplete type 'struct inotify_event' 59 | char ibuf[WATCHMAN_BATCH_LIMIT * (sizeof(struct inotify_event) + 256)]; | ^~~~~~ watcher/inotify.c:59:34: error: invalid operands to binary * (have 'int' and 'const struct flag_map *') 59 | char ibuf[WATCHMAN_BATCH_LIMIT * (sizeof(struct inotify_event) + 256)]; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | const struct flag_map * watcher/inotify.c:59:8: error: size of array 'ibuf' has non-integer type 59 | char ibuf[WATCHMAN_BATCH_LIMIT * (sizeof(struct inotify_event) + 256)]; | ^~~~ watcher/inotify.c: In function 'inot_root_init': watcher/inotify.c:119:17: warning: implicit declaration of function 'inotify_init1' [-Wimplicit-function-declaration] 119 | state->infd = inotify_init1(IN_CLOEXEC); | ^~~~~~~~~~~~~ watcher/inotify.c:119:31: error: 'IN_CLOEXEC' undeclared (first use in this function); did you mean 'O_CLOEXEC'? 119 | state->infd = inotify_init1(IN_CLOEXEC); | ^~~~~~~~~~ | O_CLOEXEC watcher/inotify.c:119:31: note: each undeclared identifier is reported only once for each function it appears in watcher/inotify.c: In function 'inot_root_start_watch_dir': watcher/inotify.c:207:11: warning: implicit declaration of function 'inotify_add_watch' [-Wimplicit-function-declaration] 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~ watcher/inotify.c:17:13: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:17:25: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:17:37: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ ^ | | | | const struct flag_map * const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:18: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:30: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:45: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:61: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:17: error: 'IN_DONT_FOLLOW' undeclared (first use in this function) 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^~~~~~~~~~~~~~ watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:15: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^ | | | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:34: error: 'IN_ONLYDIR' undeclared (first use in this function) 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^~~~~~~~~~ watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:32: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^ | | | const struct flag_map * watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:45: error: invalid operands to binary | (have 'const struct flag_map *' and 'int') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^ watcher/inotify.c:207:48: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 207 | newwd = inotify_add_watch(state->infd, path, WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c: In function 'process_inotify_event': watcher/inotify.c:252:30: error: invalid use of undefined type 'struct inotify_event' 252 | w_expand_flags(inflags, ine->mask, flags_label, sizeof(flags_label)); | ^~ watcher/inotify.c:252:27: warning: passing argument 2 of 'w_expand_flags' makes integer from pointer without a cast [-Wint-conversion] 252 | w_expand_flags(inflags, ine->mask, flags_label, sizeof(flags_label)); | ^~~~~~~~~ | | | const struct flag_map * In file included from watcher/inotify.c:4: ./watchman.h:1142:59: note: expected 'uint32_t' {aka 'unsigned int'} but argument is of type 'const struct flag_map *' 1142 | void w_expand_flags(const struct flag_map *fmap, uint32_t flags, | ~~~~~~~~~^~~~~ watcher/inotify.c:253:58: error: invalid use of undefined type 'struct inotify_event' 253 | w_log(W_LOG_DBG, "notify: wd=%d mask=0x%x %s %s\n", ine->wd, ine->mask, | ^~ watcher/inotify.c:253:67: error: invalid use of undefined type 'struct inotify_event' 253 | w_log(W_LOG_DBG, "notify: wd=%d mask=0x%x %s %s\n", ine->wd, ine->mask, | ^~ watcher/inotify.c:254:23: error: invalid use of undefined type 'struct inotify_event' 254 | flags_label, ine->len > 0 ? ine->name : ""); | ^~ watcher/inotify.c:254:29: warning: ordered comparison of pointer with integer zero [-Wextra] 254 | flags_label, ine->len > 0 ? ine->name : ""); | ^ watcher/inotify.c:254:38: error: invalid use of undefined type 'struct inotify_event' 254 | flags_label, ine->len > 0 ? ine->name : ""); | ^~ watcher/inotify.c:254:45: warning: pointer type mismatch in conditional expression 254 | flags_label, ine->len > 0 ? ine->name : ""); | ^ watcher/inotify.c:253:33: warning: format '%d' expects argument of type 'int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 253 | w_log(W_LOG_DBG, "notify: wd=%d mask=0x%x %s %s\n", ine->wd, ine->mask, | ~^ ~~~~~~~ | | | | int const struct flag_map * watcher/inotify.c:253:43: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'const struct flag_map *' [-Wformat=] 253 | w_log(W_LOG_DBG, "notify: wd=%d mask=0x%x %s %s\n", ine->wd, ine->mask, | ~^ ~~~~~~~~~ | | | | unsigned int const struct flag_map * watcher/inotify.c:253:49: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'void *' [-Wformat=] 253 | w_log(W_LOG_DBG, "notify: wd=%d mask=0x%x %s %s\n", ine->wd, ine->mask, | ~^ | | | char * | %p 254 | flags_label, ine->len > 0 ? ine->name : ""); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | void * watcher/inotify.c:256:10: error: invalid use of undefined type 'struct inotify_event' 256 | if (ine->wd == -1 && (ine->mask & IN_Q_OVERFLOW)) { | ^~ watcher/inotify.c:256:15: warning: comparison between pointer and integer 256 | if (ine->wd == -1 && (ine->mask & IN_Q_OVERFLOW)) { | ^~ watcher/inotify.c:256:28: error: invalid use of undefined type 'struct inotify_event' 256 | if (ine->wd == -1 && (ine->mask & IN_Q_OVERFLOW)) { | ^~ watcher/inotify.c:256:35: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 256 | if (ine->wd == -1 && (ine->mask & IN_Q_OVERFLOW)) { | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:259:17: error: invalid use of undefined type 'struct inotify_event' 259 | } else if (ine->wd != -1) { | ^~ watcher/inotify.c:259:22: warning: comparison between pointer and integer 259 | } else if (ine->wd != -1) { | ^~ watcher/inotify.c:266:60: error: invalid use of undefined type 'struct inotify_event' 266 | dir_name = w_ht_val_ptr(w_ht_get(state->wd_to_name, ine->wd)); | ^~ watcher/inotify.c:266:57: warning: passing argument 2 of 'w_ht_get' makes integer from pointer without a cast [-Wint-conversion] 266 | dir_name = w_ht_val_ptr(w_ht_get(state->wd_to_name, ine->wd)); | ^~~~~~~ | | | const struct flag_map * In file included from ./watchman.h:122, from watcher/inotify.c:4: ./watchman_hash.h:97:44: note: expected 'w_ht_val_t' {aka 'long int'} but argument is of type 'const struct flag_map *' 97 | w_ht_val_t w_ht_get(w_ht_t *ht, w_ht_val_t key); | ~~~~~~~~~~~^~~ watcher/inotify.c:273:14: error: invalid use of undefined type 'struct inotify_event' 273 | if (ine->len > 0) { | ^~ watcher/inotify.c:273:20: warning: ordered comparison of pointer with integer zero [-Wextra] 273 | if (ine->len > 0) { | ^ watcher/inotify.c:276:16: error: invalid use of undefined type 'struct inotify_event' 276 | ine->name); | ^~ watcher/inotify.c:274:43: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'const struct flag_map *' [-Wformat=] 274 | snprintf(buf, sizeof(buf), "%.*s/%s", | ~^ | | | char * 275 | dir_name->len, dir_name->buf, 276 | ine->name); | ~~~~~~~~~ | | | const struct flag_map * watcher/inotify.c:284:12: error: invalid use of undefined type 'struct inotify_event' 284 | if (ine->len > 0 && (ine->mask & (IN_MOVED_FROM|IN_ISDIR)) | ^~ watcher/inotify.c:284:18: warning: ordered comparison of pointer with integer zero [-Wextra] 284 | if (ine->len > 0 && (ine->mask & (IN_MOVED_FROM|IN_ISDIR)) | ^ watcher/inotify.c:284:29: error: invalid use of undefined type 'struct inotify_event' 284 | if (ine->len > 0 && (ine->mask & (IN_MOVED_FROM|IN_ISDIR)) | ^~ watcher/inotify.c:284:52: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 284 | if (ine->len > 0 && (ine->mask & (IN_MOVED_FROM|IN_ISDIR)) | ~~~~~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:284:36: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 284 | if (ine->len > 0 && (ine->mask & (IN_MOVED_FROM|IN_ISDIR)) | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:285:26: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 285 | == (IN_MOVED_FROM|IN_ISDIR)) { | ~~~~~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:294:45: error: invalid use of undefined type 'struct inotify_event' 294 | if (!w_ht_replace(state->move_map, ine->cookie, w_ht_ptr_val(&mv))) { | ^~ watcher/inotify.c:294:42: warning: passing argument 2 of 'w_ht_replace' makes integer from pointer without a cast [-Wint-conversion] 294 | if (!w_ht_replace(state->move_map, ine->cookie, w_ht_ptr_val(&mv))) { | ^~~~~~~~~~~ | | | const struct flag_map * In file included from ./watchman.h:122, from watcher/inotify.c:4: ./watchman_hash.h:71:42: note: expected 'w_ht_val_t' {aka 'long int'} but argument is of type 'const struct flag_map *' 71 | bool w_ht_replace(w_ht_t *ht, w_ht_val_t key, w_ht_val_t value); | ~~~~~~~~~~~^~~ watcher/inotify.c:297:16: error: invalid use of undefined type 'struct inotify_event' 297 | ine->cookie, name->buf); | ^~ watcher/inotify.c:296:13: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 296 | "failed to store %" PRIx32 " -> %s in move map\n", | ^~~~~~~~~~~~~~~~~~~ 297 | ine->cookie, name->buf); | ~~~~~~~~~~~ | | | const struct flag_map * In file included from /usr/include/sys/inttypes.h:45, from /usr/include/inttypes.h:42, from /usr/include/stdlib.h:317, from ./watchman.h:34, from watcher/inotify.c:4: /usr/include/sys/int_fmtio.h:190:19: note: format string is defined here 190 | #define PRIx32 "x" watcher/inotify.c:302:54: error: invalid use of undefined type 'struct inotify_event' 302 | "recording move_from %" PRIx32 " %s\n", ine->cookie, | ^~ watcher/inotify.c:302:11: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 302 | "recording move_from %" PRIx32 " %s\n", ine->cookie, | ^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ | | | const struct flag_map * In file included from /usr/include/sys/inttypes.h:45, from /usr/include/inttypes.h:42, from /usr/include/stdlib.h:317, from ./watchman.h:34, from watcher/inotify.c:4: /usr/include/sys/int_fmtio.h:190:19: note: format string is defined here 190 | #define PRIx32 "x" watcher/inotify.c:306:12: error: invalid use of undefined type 'struct inotify_event' 306 | if (ine->len > 0 && (ine->mask & (IN_MOVED_TO|IN_ISDIR)) | ^~ watcher/inotify.c:306:18: warning: ordered comparison of pointer with integer zero [-Wextra] 306 | if (ine->len > 0 && (ine->mask & (IN_MOVED_TO|IN_ISDIR)) | ^ watcher/inotify.c:306:29: error: invalid use of undefined type 'struct inotify_event' 306 | if (ine->len > 0 && (ine->mask & (IN_MOVED_TO|IN_ISDIR)) | ^~ watcher/inotify.c:306:50: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 306 | if (ine->len > 0 && (ine->mask & (IN_MOVED_TO|IN_ISDIR)) | ~~~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:306:36: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 306 | if (ine->len > 0 && (ine->mask & (IN_MOVED_TO|IN_ISDIR)) | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:307:26: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 307 | == (IN_MOVED_FROM|IN_ISDIR)) { | ~~~~~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:311:55: error: invalid use of undefined type 'struct inotify_event' 311 | old = w_ht_val_ptr(w_ht_get(state->move_map, ine->cookie)); | ^~ watcher/inotify.c:311:52: warning: passing argument 2 of 'w_ht_get' makes integer from pointer without a cast [-Wint-conversion] 311 | old = w_ht_val_ptr(w_ht_get(state->move_map, ine->cookie)); | ^~~~~~~~~~~ | | | const struct flag_map * In file included from ./watchman.h:122, from watcher/inotify.c:4: ./watchman_hash.h:97:44: note: expected 'w_ht_val_t' {aka 'long int'} but argument is of type 'const struct flag_map *' 97 | w_ht_val_t w_ht_get(w_ht_t *ht, w_ht_val_t key); | ~~~~~~~~~~~^~~ watcher/inotify.c:17:13: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:17:25: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:17:37: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ ^ | | | | const struct flag_map * const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:18: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:30: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:45: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:18:61: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ | ^ | | | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:17: error: 'IN_DONT_FOLLOW' undeclared (first use in this function) 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^~~~~~~~~~~~~~ watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:15: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^ | | | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:34: error: 'IN_ONLYDIR' undeclared (first use in this function) 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^~~~~~~~~~ watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:32: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^ | | | const struct flag_map * watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:19:45: error: invalid operands to binary | (have 'const struct flag_map *' and 'int') 17 | IN_ATTRIB | IN_CREATE | IN_DELETE | \ | ~~~~~~~~~ | | | const struct flag_map * 18 | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | \ 19 | IN_MOVED_TO | IN_DONT_FOLLOW | IN_ONLYDIR | WATCHMAN_IN_EXCL_UNLINK | ^ watcher/inotify.c:314:21: note: in expansion of macro 'WATCHMAN_INOTIFY_MASK' 314 | WATCHMAN_INOTIFY_MASK); | ^~~~~~~~~~~~~~~~~~~~~ watcher/inotify.c:330:16: error: invalid use of undefined type 'struct inotify_event' 330 | ine->cookie, name->buf); | ^~ watcher/inotify.c:329:26: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 329 | w_log(W_LOG_DBG, "move: cookie=%" PRIx32 " not found in move map %s\n", | ^~~~~~~~~~~~~~~~ 330 | ine->cookie, name->buf); | ~~~~~~~~~~~ | | | const struct flag_map * In file included from /usr/include/sys/inttypes.h:45, from /usr/include/inttypes.h:42, from /usr/include/stdlib.h:317, from ./watchman.h:34, from watcher/inotify.c:4: /usr/include/sys/int_fmtio.h:190:19: note: format string is defined here 190 | #define PRIx32 "x" watcher/inotify.c:336:15: error: invalid use of undefined type 'struct inotify_event' 336 | if ((ine->mask & (IN_UNMOUNT|IN_IGNORED|IN_DELETE_SELF|IN_MOVE_SELF))) { | ^~ watcher/inotify.c:336:35: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 336 | if ((ine->mask & (IN_UNMOUNT|IN_IGNORED|IN_DELETE_SELF|IN_MOVE_SELF))) { | ~~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:336:46: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 336 | if ((ine->mask & (IN_UNMOUNT|IN_IGNORED|IN_DELETE_SELF|IN_MOVE_SELF))) { | ~~~~~~~~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:336:61: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 336 | if ((ine->mask & (IN_UNMOUNT|IN_IGNORED|IN_DELETE_SELF|IN_MOVE_SELF))) { | ~~~~~~~~~~ ^ | | | | const struct flag_map * const struct flag_map * watcher/inotify.c:336:22: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 336 | if ((ine->mask & (IN_UNMOUNT|IN_IGNORED|IN_DELETE_SELF|IN_MOVE_SELF))) { | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:352:16: error: invalid use of undefined type 'struct inotify_event' 352 | ine->mask, pname->len, pname->buf); | ^~ watcher/inotify.c:351:33: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 351 | w_log(W_LOG_DBG, "mask=%x, focus on parent: %.*s\n", | ~^ | | | unsigned int 352 | ine->mask, pname->len, pname->buf); | ~~~~~~~~~ | | | const struct flag_map * watcher/inotify.c:358:14: error: invalid use of undefined type 'struct inotify_event' 358 | if (ine->mask & (IN_CREATE|IN_DELETE)) { | ^~ watcher/inotify.c:358:33: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 358 | if (ine->mask & (IN_CREATE|IN_DELETE)) { | ~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:358:21: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 358 | if (ine->mask & (IN_CREATE|IN_DELETE)) { | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:363:14: error: invalid use of undefined type 'struct inotify_event' 363 | ine->mask, name->len, name->buf); | ^~ watcher/inotify.c:362:55: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 362 | w_log(W_LOG_DBG, "add_pending for inotify mask=%x %.*s\n", | ~^ | | | unsigned int 363 | ine->mask, name->len, name->buf); | ~~~~~~~~~ | | | const struct flag_map * watcher/inotify.c:370:15: error: invalid use of undefined type 'struct inotify_event' 370 | if ((ine->mask & IN_IGNORED) != 0) { | ^~ watcher/inotify.c:370:22: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 370 | if ((ine->mask & IN_IGNORED) != 0) { | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:371:64: error: invalid use of undefined type 'struct inotify_event' 371 | w_log(W_LOG_DBG, "mask=%x: remove watch %d %.*s\n", ine->mask, | ^~ watcher/inotify.c:372:16: error: invalid use of undefined type 'struct inotify_event' 372 | ine->wd, dir_name->len, dir_name->buf); | ^~ watcher/inotify.c:371:33: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 371 | w_log(W_LOG_DBG, "mask=%x: remove watch %d %.*s\n", ine->mask, | ~^ ~~~~~~~~~ | | | | unsigned int const struct flag_map * watcher/inotify.c:371:50: warning: format '%d' expects argument of type 'int', but argument 4 has type 'const struct flag_map *' [-Wformat=] 371 | w_log(W_LOG_DBG, "mask=%x: remove watch %d %.*s\n", ine->mask, | ~^ | | | int 372 | ine->wd, dir_name->len, dir_name->buf); | ~~~~~~~ | | | const struct flag_map * watcher/inotify.c:374:40: error: invalid use of undefined type 'struct inotify_event' 374 | w_ht_del(state->wd_to_name, ine->wd); | ^~ watcher/inotify.c:374:37: warning: passing argument 2 of 'w_ht_del' makes integer from pointer without a cast [-Wint-conversion] 374 | w_ht_del(state->wd_to_name, ine->wd); | ^~~~~~~ | | | const struct flag_map * In file included from ./watchman.h:122, from watcher/inotify.c:4: ./watchman_hash.h:115:38: note: expected 'w_ht_val_t' {aka 'long int'} but argument is of type 'const struct flag_map *' 115 | bool w_ht_del(w_ht_t *ht, w_ht_val_t key); | ~~~~~~~~~~~^~~ watcher/inotify.c:380:20: error: invalid use of undefined type 'struct inotify_event' 380 | } else if ((ine->mask & (IN_MOVE_SELF|IN_IGNORED)) == 0) { | ^~ watcher/inotify.c:380:42: error: invalid operands to binary | (have 'const struct flag_map *' and 'const struct flag_map *') 380 | } else if ((ine->mask & (IN_MOVE_SELF|IN_IGNORED)) == 0) { | ~~~~~~~~~~~~^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:380:27: error: invalid operands to binary & (have 'const struct flag_map *' and 'const struct flag_map *') 380 | } else if ((ine->mask & (IN_MOVE_SELF|IN_IGNORED)) == 0) { | ~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:385:14: error: invalid use of undefined type 'struct inotify_event' 385 | ine->wd, ine->mask, ine->len, ine->name); | ^~ watcher/inotify.c:385:23: error: invalid use of undefined type 'struct inotify_event' 385 | ine->wd, ine->mask, ine->len, ine->name); | ^~ watcher/inotify.c:385:34: error: invalid use of undefined type 'struct inotify_event' 385 | ine->wd, ine->mask, ine->len, ine->name); | ^~ watcher/inotify.c:385:44: error: invalid use of undefined type 'struct inotify_event' 385 | ine->wd, ine->mask, ine->len, ine->name); | ^~ watcher/inotify.c:384:37: warning: format '%d' expects argument of type 'int', but argument 3 has type 'const struct flag_map *' [-Wformat=] 384 | w_log(W_LOG_ERR, "wanted dir %d for mask %x but not found %.*s\n", | ~^ | | | int 385 | ine->wd, ine->mask, ine->len, ine->name); | ~~~~~~~ | | | const struct flag_map * watcher/inotify.c:384:49: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'const struct flag_map *' [-Wformat=] 384 | w_log(W_LOG_ERR, "wanted dir %d for mask %x but not found %.*s\n", | ~^ | | | unsigned int 385 | ine->wd, ine->mask, ine->len, ine->name); | ~~~~~~~~~ | | | const struct flag_map * watcher/inotify.c:384:67: warning: field precision specifier '.*' expects argument of type 'int', but argument 5 has type 'const struct flag_map *' [-Wformat=] 384 | w_log(W_LOG_ERR, "wanted dir %d for mask %x but not found %.*s\n", | ~~^~ | | | int 385 | ine->wd, ine->mask, ine->len, ine->name); | ~~~~~~~~ | | | const struct flag_map * watcher/inotify.c:384:68: warning: format '%s' expects argument of type 'char *', but argument 6 has type 'const struct flag_map *' [-Wformat=] 384 | w_log(W_LOG_ERR, "wanted dir %d for mask %x but not found %.*s\n", | ~~~^ | | | char * 385 | ine->wd, ine->mask, ine->len, ine->name); | ~~~~~~~~~ | | | const struct flag_map * watcher/inotify.c: In function 'inot_root_consume_notify': watcher/inotify.c:413:27: error: invalid application of 'sizeof' to incomplete type 'struct inotify_event' 413 | iptr = iptr + sizeof(*ine) + ine->len) { | ^ watcher/inotify.c:413:19: error: invalid operands to binary + (have 'char *' and 'const struct flag_map *') 413 | iptr = iptr + sizeof(*ine) + ine->len) { | ^ | | | const struct flag_map * watcher/inotify.c:413:39: error: invalid use of undefined type 'struct inotify_event' 413 | iptr = iptr + sizeof(*ine) + ine->len) { | ^~ watcher/inotify.c:413:34: error: invalid operands to binary + (have 'const struct flag_map *' and 'const struct flag_map *') 413 | iptr = iptr + sizeof(*ine) + ine->len) { | ~~~~ ^ | | | | | const struct flag_map * | const struct flag_map * watcher/inotify.c:413:12: warning: assignment to 'char *' from incompatible pointer type 'const struct flag_map *' [-Wincompatible-pointer-types] 413 | iptr = iptr + sizeof(*ine) + ine->len) { | ^ gmake[1]: *** [Makefile:2955: watcher/watchman-inotify.o] Error 1 gmake[1]: Leaving directory '/home/pbulk/build/sysutils/watchman/work/watchman-4.7.0' gmake: *** [Makefile:986: all] Error 2 *** Error code 2 Stop. bmake[1]: stopped in /data/jenkins/workspace/pkgsrc-2021Q4-x86_64/sysutils/watchman *** Error code 1 Stop. bmake: stopped in /data/jenkins/workspace/pkgsrc-2021Q4-x86_64/sysutils/watchman