A biblioteca libncruses está na verdade em /lib/libncurses.so.5.
Basta criar um link simbólico para /lib/libncurses.so.5 (ou a versão correta, /lib/libncurses.so.5.9 no meu sistema) em /usr/lib/libtermcap.so.2 e ele funcionará.
No meu Ubuntu 11.10, estou executando uma versão do gdb para outro destino diferente da máquina host e estou recebendo o seguinte erro:
xxxxx-none-linux-gnu-gdb: error while loading shared libraries: /usr/lib/libtermcap.so.2: file too short
A seguir está a lista de minhas libncurses e libtermcap no meu host:
$ ls -l /usr/lib/libtermcap.*
lrwxrwxrwx 1 root root 12 2011-09-17 00:59 /usr/lib/libtermcap.a -> libncurses.a
lrwxrwxrwx 1 root root 13 2011-09-17 00:59 /usr/lib/libtermcap.so -> libncurses.so
lrwxrwxrwx 1 root root 22 2011-12-05 17:32 /usr/lib/libtermcap.so.2 -> /usr/lib/libncurses.so
$ ls -l /usr/lib/libncurses*
-rw-r--r-- 1 root root 221876 2011-09-17 00:59 /usr/lib/libncurses.a
-rw-r--r-- 1 root root 113216 2011-09-17 00:59 /usr/lib/libncurses++.a
-rw-r--r-- 1 root root 31 2011-09-17 00:59 /usr/lib/libncurses.so
$ cat /usr/lib/libncurses.so
INPUT(libncurses.so.5 -ltinfo)
$ uname -a
Linux hostname 3.0.0-13-generic-pae #22-Ubuntu SMP Wed Nov 2 15:17:35 UTC 2011 i686 i686 i386 GNU/Linux
Como superar esse problema?
A biblioteca libncruses está na verdade em /lib/libncurses.so.5.
Basta criar um link simbólico para /lib/libncurses.so.5 (ou a versão correta, /lib/libncurses.so.5.9 no meu sistema) em /usr/lib/libtermcap.so.2 e ele funcionará.