My problem is that make install then put all the headers under
/usr/local/include/ncurses, but it generated the internal includes as
ncurses/whatever.h. So, if I use -I/usr/local/include/ncurses, gcc can't
find the ncurses/unctrl.h (among others) that is included from ncurses.h. I
have to have both -I/usr/local/include/ncurses and -I/usr/local/include in
order to make it work. Is this a bug?
no, it's a feature. The headers are in a subdirectory to make it simple
to avoid including /usr/include/curses.h
Portable applications that use ncurses would either have two -I options
or have some ifdef to switch between these cases:
#include <curses.h>
#include <ncurses/curses.h>
#include <ncursesw/curses.h>