Package: libcdk5 Version: 5.0.20161210-5 There is a new ncurses version in experimental which changes the soname of the libraries from 5 to 6. One notable change between libncurses5 and libncurses6 is that the "chtype" data type has changed from unsigned long to unsigned int. This affects the cdk library, which makes use of chtype all over the place.
If libcdk5 has been rebuilt against libncurses6 but the application using it has not, or vice versa, they disagree about what "chtype" is, and bad things can happen on 64-bit architectures, where sizeof(long) != sizeof(int). For testing purposes, I have built the example programs in libcdk5-doc on amd64 with libncurses6 and the libcdk5 library which is still linked against libncurses5. While most of them seem to work, I got a segfault in demos/clock and a bus error in buttonbox_ex. My conclusion is that it is very risky to allow such combinations, and to rule them out I propose to change the package name of the cdk library, say to libcdk5a. It would then have to build-depend on libncurses-dev (>= 6.1+20180210) to ensure that it is linked against libncurses6 and not libncurses5. Of course this can only be uploaded to experimental for now, but should go to unstable when the ncurses transition starts there. -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable'), (101, 'experimental') Architecture: i386 (x86_64) Foreign Architectures: amd64 Kernel: Linux 4.15.7-nouveau (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages libcdk5 depends on: ii libc6 2.27-1 ii libncurses5 6.1+20180210-1 ii libtinfo5 6.1+20180210-1 libcdk5 recommends no packages. libcdk5 suggests no packages. -- no debconf information