Source: tack
Version: 1.07-1
Tags: buster sid fixed-upstream

With libncurses5-dev from experimental, tack FTBFS.  From the build log:

,----
| gcc -c -DHAVE_CONFIG_H -I. -I. -Wdate-time -D_FORTIFY_SOURCE=2 
-DXTSTRINGDEFINES -D_GNU_SOURCE -g -O2 -fdebug-prefix-map=/tmp/tack-1.07=. 
-fstack-protector-strong -Wformat -Werror=format-security control.c
| In file included from ./tack.h:51:0,
|                  from control.c:22:
| control.c: In function 'alloc_arrays':
| ./tack.h:78:32: error: dereferencing pointer to incomplete type 'TERMINAL 
{aka struct term}'
|  #define CUR_TP      (&(cur_term->type))
|                                 ^
| ./tack.h:79:33: note: in expansion of macro 'CUR_TP'
|  #define MAX_STRINGS NUM_STRINGS(CUR_TP)
|                                  ^~~~~~
| control.c:81:45: note: in expansion of macro 'MAX_STRINGS'
|        pads = (struct test_results **)calloc(MAX_STRINGS, sizeof(struct 
test_results *));
|                                              ^~~~~~~~~~~
| Makefile:242: recipe for target '../tack-1.07/control.o' failed
`----

The reason is the following change in ncurses:

,----
| 20170318
|       + change TERMINAL structure in term.h to make it opaque.  Some
|         applications misuse its members, e.g., directly modifying it
|         rather than using def_prog_mode().
`----

The latest upstream snapshot at
ftp://ftp.invisible-island.net/ncurses/current/tack-1.07-20170318.tgz
fixes the problem, it might be good to package it after the stretch
release.  Or persuade upstream to release tack 1.08, since 1.07 is
already over seven years old.

Reply via email to