В моем окне OpenSUSE 12.3 нет ссылок на libcurses с установленным ncurses. Любые программы на Си, которые пытаются использовать флаг -lcurses, не будут работать, пока вы не измените флаг на -lncurses.
OpenSUSE 12.3 > ls -al /usr/lib64/*curses*
-rw-r--r-- 1 root root 2225910 Jan 25 2013 /usr/lib64/libncurses.a
-rw-r--r-- 1 root root 780540 Jan 25 2013 /usr/lib64/libncurses++.a
-rw-r--r-- 1 root root 69 Jan 25 2013 /usr/lib64/libncurses.so
-rw-r--r-- 1 root root 782884 Jan 25 2013 /usr/lib64/libncurses++w.a
-rw-r--r-- 1 root root 2768222 Jan 25 2013 /usr/lib64/libncursesw.a
-rw-r--r-- 1 root root 70 Jan 25 2013 /usr/lib64/libncursesw.so
Ссылки также отсутствуют в Fedora 17. Однако в Ubuntu 13.04 ссылки присутствуют:
Ubuntu 13.04 > ls -al /usr/lib/x86_64-linux-gnu/*curses*
lrwxrwxrwx 1 root root 12 Feb 8 2013 /usr/lib/x86_64-linux-gnu/libcurses.a -> libncurses.a
lrwxrwxrwx 1 root root 13 Feb 8 2013 /usr/lib/x86_64-linux-gnu/libcurses.so -> libncurses.so
-rw-r--r-- 1 root root 294180 Feb 8 2013 /usr/lib/x86_64-linux-gnu/libncurses.a
-rw-r--r-- 1 root root 158798 Feb 8 2013 /usr/lib/x86_64-linux-gnu/libncurses++.a
-rw-r--r-- 1 root root 31 Feb 8 2013 /usr/lib/x86_64-linux-gnu/libncurses.so
Таким образом, компиляция с помощью -lcurses завершится неудачно в OpenSUSE и Fedora, но будет работать в Ubuntu. Компиляция с -lncurses будет работать для всех трех дистрибутивов.
Вывод: если вы хотите, чтобы ваш код компилировался на разных дистрибутивах Linux, вы должны использовать -lncurses.