I think this has nothing to do with gpm. Your system may be broken. What happens if you move /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/ncurses.h away ? GCC 3.2 fixes some system includes, and one of them is ncurses.h. You have 3 choices: 1- Add a fixed ncurses.h to /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/ 2- Recompile GCC 3.2. 3- Move /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/ncurses.h away I use 3. > In file included from > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/ncurses.h:86, > from libcurses.c:33: > /usr/include/unctrl.h:57: parse error before "unctrl" -- 0@pervalidus.{net, {dyndns.}org}