Am 06.07.2012 18:13, schrieb Stefan Husmann:
Hello,
under a recent Arch Linux, which comes with gcc 4.7.1, I get an error:
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../src -march=x86-64
-mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4
-D_FORTIFY_SOURCE=2 -MT fopen-safer.lo -MD -MP -MF .deps/fopen-safer.Tpo -c
fopen-safer.c -fPIC -DPIC -o .libs/fopen-safer.o
In file included from stdio-safer.h:20:0,
from fopen-safer.c:22:
./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)
make[3]: *** [fopen-safer.lo] Error 1
make[3]: Leaving directory
`/home/haawda/paketierung/maintained_by_me/gnupdf-bzr/src/gnupdf-build/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/haawda/paketierung/maintained_by_me/gnupdf-bzr/src/gnupdf-build/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/haawda/paketierung/maintained_by_me/gnupdf-bzr/src/gnupdf-build/lib'
make: *** [all-recursive] Fehler 1
==> FEHLER: Ein Fehler geschah in build().
How is this fixable?
Best Regards Stefan
Hello,
the attached patch fixes this for me.
A similar issue in GNU coreutils and the discussion regarding this can be found
here:
http://comments.gmane.org/gmane.comp.gnu.coreutils.general/2525
Best Regards Stefan
diff -Naur gnupdf/lib/stdio.in.h gnupdf.new/lib/stdio.in.h
--- gnupdf/lib/stdio.in.h 2012-07-06 17:27:54.000000000 +0200
+++ gnupdf.new/lib/stdio.in.h 2012-10-12 18:13:54.000000000 +0200
@@ -695,8 +695,10 @@
/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
+#if HAVE_RAW_DECL_GETS
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
+#endif
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@