Bug#646761: libncurses5-dev: header files differ across architectures
On 2011-10-26 23:31 +0200, Thomas E. Dickey wrote: Quoting Sven Joachim svenj...@gmx.de: Package: libncurses5-dev Version: 5.9-2 Severity: normal User: debian-d...@lists.debian.org Usertags: multiarch When I marked the -dev packages as Multi-Arch: same, I naively assumed that the header files would be identical across architectures. A check of libncurses5-dev:kfreebsd-i386 and libncurses5-dev:i386 reveals that this is actually not the case: ...the generated-by stuff is a build-artifact that doesn't really matter, but the termio/termios stuff is hard to eliminate, since it in turn is eliminating some work by the applications that use the header files. This is certainly true from your upstream perspective, however in Debian the difference is currently non-functional since it's in an #else branch that is not reached. OTOH, it's not impossible that somebody ports Debian to an architecture where this is not the case, although that seems unlikely to me, since such a system would probably not be very POSIX compliant. The safe action would be to move term.h to the multiarch include paths. We then need compatibility symlinks in the lib{32,64}*-dev packages. The alternative would be to make the generated config.h (ncurses_cfg.h) included by each of the public header files, and to include that from another place (architecture-dependent). That would be good since it frees us from the burden to check all the header files. In any case, since -dev packages with header files in multiarch include directories are currently not allowed¹ to be Multi-Arch:same anyway, my proposal would be to just remove the Multi-Arch field from the -dev packages for now and only worry about a solution when libc6-dev becomes Multi-Arch:same. Cheers, Sven ¹ http://wiki.debian.org/Multiarch/Implementation#Issues_to_be_aware_of_when_converting -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#646761: libncurses5-dev: header files differ across architectures
Package: libncurses5-dev Version: 5.9-2 Severity: normal User: debian-d...@lists.debian.org Usertags: multiarch When I marked the -dev packages as Multi-Arch: same, I naively assumed that the header files would be identical across architectures. A check of libncurses5-dev:kfreebsd-i386 and libncurses5-dev:i386 reveals that this is actually not the case: --8---cut here---start-8--- diff -ur kfreebsd-i386/usr/include/curses.h i386/usr/include/curses.h --- kfreebsd-i386/usr/include/curses.h 2011-09-30 15:56:42.0 +0200 +++ i386/usr/include/curses.h 2011-09-30 15:46:23.0 +0200 @@ -1384,7 +1384,7 @@ #define KEY_SRESET 0530/* Soft (partial) reset (unreliable) */ #define KEY_RESET 0531/* Reset or hard reset (unreliable) */ /* - * These definitions were generated by /build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/MKkey_defs.sh /build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/Caps + * These definitions were generated by /build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/MKkey_defs.sh /build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/Caps */ #define KEY_DOWN 0402/* down-arrow key */ #define KEY_UP 0403/* up-arrow key */ diff -ur kfreebsd-i386/usr/include/ncurses.h i386/usr/include/ncurses.h --- kfreebsd-i386/usr/include/ncurses.h 2011-09-30 15:56:42.0 +0200 +++ i386/usr/include/ncurses.h 2011-09-30 15:46:23.0 +0200 @@ -1384,7 +1384,7 @@ #define KEY_SRESET 0530/* Soft (partial) reset (unreliable) */ #define KEY_RESET 0531/* Reset or hard reset (unreliable) */ /* - * These definitions were generated by /build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/MKkey_defs.sh /build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/Caps + * These definitions were generated by /build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/MKkey_defs.sh /build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/Caps */ #define KEY_DOWN 0402/* down-arrow key */ #define KEY_UP 0403/* up-arrow key */ diff -ur kfreebsd-i386/usr/include/term.h i386/usr/include/term.h --- kfreebsd-i386/usr/include/term.h2011-09-30 15:56:42.0 +0200 +++ i386/usr/include/term.h 2011-09-30 15:46:23.0 +0200 @@ -83,7 +83,7 @@ #else /* !HAVE_TERMIOS_H */ /* #if HAVE_TERMIO_H */ -#if 0 +#if 1 #undef TERMIOS #define TERMIOS 1 Only in kfreebsd-i386/usr/lib: i386-kfreebsd-gnu Only in i386/usr/lib: i386-linux-gnu --8---cut here---end---8--- I suppose it should not be too difficult to eliminate these differences, but it needs some investigation. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (101, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 3.1.0-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 Versions of packages libncurses5-dev depends on: ii libc6-dev [libc-dev] 2.13-21 ii libncurses5 5.9-2 ii libtinfo-dev 5.9-2 ii ncurses-bin 5.9-2 libncurses5-dev recommends no packages. Versions of packages libncurses5-dev suggests: ii ncurses-doc 5.9-2 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#646761: libncurses5-dev: header files differ across architectures
Quoting Sven Joachim svenj...@gmx.de: Package: libncurses5-dev Version: 5.9-2 Severity: normal User: debian-d...@lists.debian.org Usertags: multiarch When I marked the -dev packages as Multi-Arch: same, I naively assumed that the header files would be identical across architectures. A check of libncurses5-dev:kfreebsd-i386 and libncurses5-dev:i386 reveals that this is actually not the case: ...the generated-by stuff is a build-artifact that doesn't really matter, but the termio/termios stuff is hard to eliminate, since it in turn is eliminating some work by the applications that use the header files. #define KEY_UP 0403/* up-arrow key */ diff -ur kfreebsd-i386/usr/include/term.h i386/usr/include/term.h --- kfreebsd-i386/usr/include/term.h2011-09-30 15:56:42.0 +0200 +++ i386/usr/include/term.h 2011-09-30 15:46:23.0 +0200 @@ -83,7 +83,7 @@ #else /* !HAVE_TERMIOS_H */ /* #if HAVE_TERMIO_H */ -#if 0 +#if 1 #undef TERMIOS #define TERMIOS 1 Only in kfreebsd-i386/usr/lib: i386-kfreebsd-gnu Only in i386/usr/lib: i386-linux-gnu --8---cut here---end---8--- I suppose it should not be too difficult to eliminate these differences, but it needs some investigation. The alternative would be to make the generated config.h (ncurses_cfg.h) included by each of the public header files, and to include that from another place (architecture-dependent). -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org