The struct TERMTYPE is and was an internal type and now it becomes protected #ifdef NCURSES_INTERNALS typedef TERMTYPE TERMTYPE2; typedef struct term { /* describe an actual terminal */ TERMTYPE type; /* terminal type description */ short Filedes; /* file description being written to */ TTY Ottyb; /* original state of the terminal */ TTY Nttyb; /* current state of the terminal */ int _baudrate; /* used to compute padding */ char * _termname; /* used for termname() */ } TERMINAL; #else typedef struct term TERMINAL; #endif /* NCURSES_INTERNALS */ ... maybe AC_CHECK_HEADERS(term.h ncurses/term.h curses/term.h) could be an option as long as wyrd does not use internals like TERMINAL