Source: m4
Version: 1.4.16-4
Severity: normal
Tags: patch
User: debian-...@lists.debian.org
Usertags: port-x32 ftbfs-gnulib

If I try building m4 with eglibc 2.16 from experimental installed, I get this 
build failure:

#       source='clean-temp.c' object='clean-temp.o' libtool=no 
gcc -std=gnu99  -I.   -D_FORTIFY_SOURCE=2  -g -O2 -fstack-protector --
param=ssp-buffer-size=4 -c clean-temp.c
In file included from clean-temp.h:22:0,
                 from clean-temp.c:23:
./stdio.h:477:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [clean-temp.o] Error 1
make[4]: Leaving directory `/tmp/buildd/m4-1.4.16/lib'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/tmp/buildd/m4-1.4.16/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/buildd/m4-1.4.16'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/buildd/m4-1.4.16'
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Attached is a debdiff with a temporary workaround until the package is updated 
from gnulib git.
-- 
Daniel Schepler
diff -Nru m4-1.4.16/debian/changelog m4-1.4.16/debian/changelog
--- m4-1.4.16/debian/changelog	2012-05-07 07:11:49.000000000 -0700
+++ m4-1.4.16/debian/changelog	2012-07-20 14:52:38.000000000 -0700
@@ -1,3 +1,10 @@
+m4 (1.4.16-3+x32) UNRELEASED; urgency=low
+
+  * Added fix for gnulib compilation against glibc 2.16, which no longer
+    declares gets by default.
+
+ -- Daniel Schepler <schep...@debian.org>  Fri, 20 Jul 2012 14:52:27 -0700
+
 m4 (1.4.16-3) unstable; urgency=low
 
   * Switch to dh.
diff -Nru m4-1.4.16/debian/patches/04-fix-for-gnulib-compilation-error-with-glibc-2_16 m4-1.4.16/debian/patches/04-fix-for-gnulib-compilation-error-with-glibc-2_16
--- m4-1.4.16/debian/patches/04-fix-for-gnulib-compilation-error-with-glibc-2_16	1969-12-31 16:00:00.000000000 -0800
+++ m4-1.4.16/debian/patches/04-fix-for-gnulib-compilation-error-with-glibc-2_16	2012-07-20 14:52:49.000000000 -0700
@@ -0,0 +1,14 @@
+Index: m4-1.4.16/lib/stdio.in.h
+===================================================================
+--- m4-1.4.16.orig/lib/stdio.in.h	2011-03-01 16:39:29.000000000 +0000
++++ m4-1.4.16/lib/stdio.in.h	2012-07-20 21:51:00.000000000 +0000
+@@ -162,7 +162,9 @@
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ #undef gets
++#if 0
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff -Nru m4-1.4.16/debian/patches/series m4-1.4.16/debian/patches/series
--- m4-1.4.16/debian/patches/series	2011-07-26 09:32:24.000000000 -0700
+++ m4-1.4.16/debian/patches/series	2012-07-20 14:50:41.000000000 -0700
@@ -1,3 +1,4 @@
 01-no-usr-share-info-dir-gz
 02-workaround-for-binutils-bug-on-mips
 03-fix-for-test-readlink
+04-fix-for-gnulib-compilation-error-with-glibc-2_16

Reply via email to