Если волею судьбы Вам понадобилось собрать ncurses при помощи gcc 5 или выше, то скорее всего вы увидите такую ошибку:
ncurses-5.9/ncurses/curses.priv.h:283:0,
from ../ncurses/lib_gen.c:19:
_744.c:835:15: error: expected ')' before 'int'
../include/curses.h:1594:56: note: in definition of macro 'mouse_trafo'
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
Бедово конечно, но все довольно просто. В компиляторе что-то изменили и исходники больше не собираются.
Я нашел патч. Пока его не одобрили, но он работает.
Скачать можно тут: https://git.sagemath.org/sage.git/diff/build/pkgs/ncurses/patches/work_ar…
Ну или можно ручками поправить файл ncurses/base/MKlib_gen.sh:
if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi
# Work around "unexpected" output of GCC 5.1.0's cpp w.r.t. #line directives
# by simply suppressing them:
case `$1 -dumpversion 2>/dev/null` in
5.[01].*) # assume a "broken" one
preprocessor="$1 -P -DNCURSES_INTERNALS -I../include"
;;
*)
preprocessor="$1 -DNCURSES_INTERNALS -I../include"
esac
AWK="$2"
USE="$3"
Вместо такого:
preprocessor="$1 -DNCURSES_INTERNALS -I../include"
После этого собирается обычным путем.








