n-curses - depuración

Iniciado por joe2011, 3 Marzo 2014, 21:33 PM

0 Miembros y 1 Visitante están viendo este tema.

joe2011

Buenas noches, amigos
Realizando las prácticas del capítulo 11 de Programación en  Linux con ejemplos de Kurt Wall, el referido a n-curses, me encuentro con el siguiente problema.

Parece ser que para habilitar la depuración es necesario linkar a ncurses_g y habilitar trace(N) en el código. Para probarlo propone el siguiente código:

/* Filename: depurador.c */

#include <curses.h>

int main (void)
{
initscr();

trace(TRACE_CALLS);
printw("Establecer nivel de depuración para TRACE_CALLS");
refresh();
endwin();
return 0;
}



El caso es que no tenía la biblioteca libncurses_g.a y la instalé den debian 7 con
sudo apt-get install libncurses5-dbg

Al ejecutar el comanda de compilación y depuración
gcc depurador.c -o depurador -lncurses_g

La cantidad de errores es enorme, pongo la parte final
/usr/lib/gcc/i486-linux-gnu/4.7/../../../../lib/libncurses_g.a(lib_echo.o): In function `echo':
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:52: undefined reference to `_nc_tracing'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:53: undefined reference to `SP'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:56: undefined reference to `_nc_retrace_int'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:52: undefined reference to `SP'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:52: undefined reference to `_tracef'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:53: undefined reference to `SP'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:54: undefined reference to `_nc_retrace_int'
/usr/lib/gcc/i486-linux-gnu/4.7/../../../../lib/libncurses_g.a(lib_echo.o): In function `noecho':
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:70: undefined reference to `_nc_tracing'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:71: undefined reference to `SP'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:74: undefined reference to `_nc_retrace_int'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:70: undefined reference to `SP'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:70: undefined reference to `_tracef'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:71: undefined reference to `SP'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_echo.c:72: undefined reference to `_nc_retrace_int'
/usr/lib/gcc/i486-linux-gnu/4.7/../../../../lib/libncurses_g.a(lib_erase.o): In function `werase':
/tmp/buildd/ncurses-5.9/ncurses/base/lib_erase.c:54: undefined reference to `_nc_tracing'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_erase.c:54: undefined reference to `_tracef'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_erase.c:91: undefined reference to `_nc_retrace_int'
/tmp/buildd/ncurses-5.9/ncurses/base/lib_erase.c:91: undefined reference to `_nc_retrace_int'
collect2: error: ld returned 1 exit status


Agradecería me dijérais que es lo que puede pasar. ¿Es posible que haya instalado una libreria de depuración que no corresponda con la versión que tenga instalada de ncurses?

Muchas gracias.