Если волею судьбы Вам понадобилось собрать 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"
После этого собирается обычным путем.