On 11/18/2012 04:03 PM, Ivan Burbakov wrote: > Building of some packages (inetutils, namely) with glibc-2.16 tends to > fail because this line: > > /* It is very rare that the developer ever has full control of stdin, > so any use of gets warrants an unconditional warning; besides, C11 > removed it. */ > #undef gets > #if HAVE_RAW_DECL_GETS
HAVE_RAW_DECL_GETS should only be non-zero if gets() is declared... > _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); > #endif > > Error message is "./stdio.h:1030:1: error: 'gets' undeclared here (not > in a function)" ...but this says gets is undeclared. Are you sure you don't have a stale config.cache lying around from pre-glibc 2.16 days, where the cache has old information impacting your build? Other than that, I'd have to see your config.log to see why HAVE_RAW_DECL_GETS is getting set to non-zero when it is clearly undeclared. > > There is full logs: https://gist.github.com/4107950 These logs don't include the full config.log. Also, just looking at the captured stdout of configure, I don't see any line that states: checking whether gets is declared without a macro... XXX I would expect that line to exist, with a resounding 'no' under modern glibc (and a 'yes' in C99), according to the code that would normally set HAVE_RAW_DECL_GETS. -- Eric Blake ebl...@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature