Source: squishyball
Version: 0.1~svn19085-4
Tags: buster sid

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

,----
| gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" 
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" 
-DHAVE_LIBNCURSES=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_VORBIS_VORBISFILE_H=1 -DHAVE_AO_AO_H=1 -DHAVE_FLAC_STREAM_DECODER_H=1 
-I.   -Wdate-time -D_FORTIFY_SOURCE=2  -O2 -fsigned-char -ffast-math 
-DVERSION='"20140211"'   -I/usr/include/opus   -DUSE_FKEYSF=0 -c -o mincurses.o 
mincurses.c
| mincurses.c: In function 'minc_init_keytry':
| mincurses.c:123:26: error: dereferencing pointer to incomplete type 'TERMINAL 
{aka struct term}'
|    TERMTYPE *tp=&(cur_term->type);
|                           ^~
| Makefile:419: recipe for target 'mincurses.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().
`----

A workaround is to #define NCURSES_INTERNALS, this exposes the TERMINAL
structure again.  Probably not the cleanest fix, but mincurses.c already
relies on undocumented ncurses implementation details, e.g. it declares
the _nc_add_to_try() function which is not part of the public API.


-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 4.9.22-nouveau (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Reply via email to