Package: screen Version: 4.1.0~20120320gitdb59704-5 Severity: important Hello,
screen does not build on !linux archs when libelf-dev is installed: gcc -c -I. -I. -D_FORTIFY_SOURCE=2 -DETCSCREENRC='"/etc/screenrc"' -DSCREENENCODINGS='"/usr/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \ -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -g -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers utmp.c utmp.c:104:26: error: 'UTMPX_FILE' undeclared here (not in a function) This is because when libelf-dev is installed, configure.in defines SVR4, which in os.h makes UTMPFILE defined to UTMPX_FILE, but since _GNU_SOURCE is defined by config.h only after header inclusion, /usr/include/utmpx.h's __USE_GNU guard prevents UTMPX_FILE from being defined. I see three ways to fix it: - include config.h before headers and include utmp.h for ut_xtime, as attached patch1 does, - use the same trick as on linux, which just disables utmpx, as attached patch2 does. - build-conflict with libelf-dev, as attached patch3 does. Samuel -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.0.4 (SMP w/8 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages screen depends on: ii cdebconf [debconf-2.0] 0.171 ii debconf [debconf-2.0] 1.5.44 ii dpkg 1.16.4.3 ii install-info 4.13a.dfsg.1-10 ii libc6 2.13-33 ii libpam0g 1.1.3-7.1 ii libtinfo5 5.9-10 screen recommends no packages. Versions of packages screen suggests: ii iselect 1.4.0-1 -- debconf information: screen/410-upgrade: screen/403-copy-failed: * screen/old_upgrade_prompt: false -- Samuel Thibault <samuel.thiba...@ens-lyon.org> <D> m'enfin, le 5 juillet, le mec vient visiter le labo... * D a marque d'une croix rouge le 5 juillet sur son agenda <y> niarc niarc niarc <D> cet homme va souffrir <B> c'est donc le 5 juillet qu'il meurt d'un accident de la route écrasé par un truck muni d'un pare buffle -+- #ens-mim - repaire de terroristes -+-
--- utmp.c.orig 2012-08-09 12:41:29.000000000 +0200 +++ utmp.c 2012-08-09 12:41:32.000000000 +0200 @@ -26,11 +26,12 @@ **************************************************************** */ +#include "config.h" + #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include "config.h" #include "screen.h" #include "extern.h" --- os.h.orig 2012-08-09 12:45:12.000000000 +0200 +++ os.h 2012-08-09 12:45:14.000000000 +0200 @@ -252,6 +252,7 @@ #if defined(UTMPOK) || defined(BUGGYGETLOGIN) # if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) # include <utmpx.h> +# include <utmp.h> # define UTMPFILE UTMPX_FILE # define utmp utmpx # define getutent getutxent
--- os.h.orig 2012-08-09 12:45:12.000000000 +0200 +++ os.h 2012-08-09 12:46:39.000000000 +0200 @@ -250,7 +250,7 @@ #endif #if defined(UTMPOK) || defined(BUGGYGETLOGIN) -# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) +# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) && !defined(__GNU__) && !defined(__FreeBSD_kernel__) # include <utmpx.h> # define UTMPFILE UTMPX_FILE # define utmp utmpx
--- debian/control.orig 2012-08-09 12:48:53.000000000 +0200 +++ debian/control 2012-08-09 12:49:03.000000000 +0200 @@ -5,6 +5,7 @@ Uploaders: Jan Christoph Nordholz <he...@pool.math.tu-berlin.de> Standards-Version: 3.9.3 Build-Depends: libncursesw5-dev, texinfo, libpam0g-dev, debhelper (>> 7), dh-autoreconf, dpkg-dev (>= 1.16.1~), po-debconf +Build-Conflicts: libelf-dev, libelf0-dev, libelf1-dev, libelfg0-dev Homepage: http://savannah.gnu.org/projects/screen Vcs-Git: git://anonscm.debian.org/collab-maint/screen.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/screen.git