On Tue, Apr 28, 2015 at 01:09:04PM +0200, Jan Ťulák wrote: > In glibc 2.20, _BSD_SOURCE and _SVID_SOURCE were deprecated and should be > replaced with _DEFAULT_SOURCE. Currently, compiling xfsprogs on a system with > glibc in said or newer version (like current Fedora) produces tons of warnings > like this one: > > In file included from /usr/include/stdio.h:27:0, > from ../include/xfs/platform_defs.h:24, > from ../include/xfs/libxfs.h:25, > from xfs_mkfs.c:19: > /usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] > # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" > > It can be fixed with the single line patch bellow, but I'm not sure if we can > remove the deprecated version because of compatiblity. Glibc 2.19, which added > _DEFAULT_SOURCE, was released in 2014, and I'm not sure how much it is > backported and how much xfsprogs are backported too. So, do we need a better > patch to take care of this and provide differend _SOURCE based on glibc > version, or this patch is enough? > > Source: man 7 feature_test_macros > Here is a link in case you older version: > http://man7.org/linux/man-pages/man7/feature_test_macros.7.html /me smacks head against wall Really? glibc has decided to break the build of half the world? > Signed-off-by: Jan Ťulák <jtulak@xxxxxxxxxx> > --- > include/builddefs.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/builddefs.in b/include/builddefs.in > index 944bcf6..6e6097a 100644 > --- a/include/builddefs.in > +++ b/include/builddefs.in > @@ -109,7 +109,7 @@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall > # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl > > ifeq ($(PKG_PLATFORM),linux) > -PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) > +PCFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) Quoting that man page: " _GNU_SOURCE [...] Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly defining _DEFAULT_SOURCE. In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of implicitly defining _BSD_SOURCE and _SVID_SOURCE. " IOWs, glibc is just being an obnoxious. I'd just drop the -D_BSD_SOURCE altogether, as _GNU_SOURCE should pull in everything we need. And looking at it further, it also defines _XOPEN_SOURCE to >= 500, so that could probably be dropped, too. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs