The ncurses term.h header has logic in it to detect if nucrses.h has already been included and void defining things when it has. But since setterm includes term.h and the ncurses.h, it doesn't work and we can get fun build-time warnings like: CC term-utils/setterm-setterm.o In file included from term-utils/setterm.c:109:0: /usr/include/ncursesw/ncurses.h:827:12: warning: redundant redeclaration of 'tigetflag' [-Wredundant-decls] extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */ ^ In file included from term-utils/setterm.c:106:0: /usr/include/ncursesw/term.h:775:12: note: previous declaration of 'tigetflag' was here extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); ^ Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> --- term-utils/setterm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/term-utils/setterm.c b/term-utils/setterm.c index 310c3fa..d41e335 100644 --- a/term-utils/setterm.c +++ b/term-utils/setterm.c @@ -100,16 +100,17 @@ #include <termios.h> #include <string.h> #include <fcntl.h> + #ifndef NCURSES_CONST #define NCURSES_CONST const /* define before including term.h */ #endif -#include <term.h> - #ifdef HAVE_NCURSES_H #include <ncurses.h> #elif defined(HAVE_NCURSES_NCURSES_H) #include <ncurses/ncurses.h> #endif +/* must include after ncurses.h */ +#include <term.h> #include <sys/param.h> /* for MAXPATHLEN */ #include <sys/ioctl.h> -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html