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 <[email protected]>
<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 <[email protected]>
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