clang -O2 -Wall -Wextra -Werror=implicit-function-declaration sys_msg/msgctl.c -o sys_msg/msgctl -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lintl sys_msg/msgctl.c:71:24: warning: & has lower precedence than !=; != will be evaluated first [-Wparentheses] if ( ds.msg_perm.mode & 0777 != 0600 ) ^~~~~~~~~~~~~~ sys_msg/msgctl.c:71:24: note: place parentheses around the '!=' expression to silence this warning if ( ds.msg_perm.mode & 0777 != 0600 ) ^ ( ) sys_msg/msgctl.c:71:24: note: place parentheses around the & expression to evaluate it first if ( ds.msg_perm.mode & 0777 != 0600 ) ^ ( ) 1 warning generated. ../out/minix/basic/sys_msg/msgctl.o: In function `main': sys_msg/msgctl.c:(.text+0x3e3): undefined reference to `msgget' sys_msg/msgctl.c:(.text+0x408): undefined reference to `__msgctl50' ../out/minix/basic/sys_msg/msgctl.o: In function `cleanup': sys_msg/msgctl.c:(.text+0x5cb): undefined reference to `__msgctl50' ../out/minix/basic/sys_msg/msgctl.o: In function `on_signal': sys_msg/msgctl.c:(.text+0x6ff): undefined reference to `__msgctl50' clang: error: linker command failed with exit code 1 (use -v to see invocation)