On 13 December 2017 at 07:58, Pekka Paalanen <ppaala...@gmail.com> wrote: > On Tue, 12 Dec 2017 15:41:52 +0000 > Emil Velikov <emil.l.veli...@gmail.com> wrote: > >> On 12 December 2017 at 08:28, Pekka Paalanen <ppaala...@gmail.com> wrote: >> > On Mon, 11 Dec 2017 16:16:47 +0200 >> > Pekka Paalanen <ppaala...@gmail.com> wrote: >> > >> >> On Wed, 31 May 2017 22:17:50 +0100 >> >> Sergei Trofimovich <sly...@gentoo.org> wrote: >> >> >> >> > This change slightly updates c4d7f66c12853b9575366dd9f4a7960ec5694934 >> >> > which added <sys/sysmacros.h> inclusion. >> >> > >> >> > Autoconf has AC_HEADER_MAJOR to find out which header defines >> >> > reqiured macros: >> >> > >> >> > https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Headers.html >> >> > >> >> > This change should increase portability across other libcs. >> >> > >> >> > Bug: https://bugs.gentoo.org/610652 >> >> > Signed-off-by: Sergei Trofimovich <sly...@gentoo.org> >> >> > --- >> >> > Change since v1: >> >> > - rebased on top of current master >> >> > - dedented nested '# include' >> >> > configure.ac | 1 + >> >> > libweston/launcher-direct.c | 9 ++++++++- >> >> > libweston/launcher-logind.c | 9 ++++++++- >> >> > libweston/launcher-weston-launch.c | 8 +++++++- >> >> > libweston/weston-launch.c | 9 ++++++++- >> >> > 5 files changed, 32 insertions(+), 4 deletions(-) >> >> >> >> Hi, >> >> >> >> I'm on Gentoo with sys-libs/glibc-2.25-r9:2.2 and I am now getting a >> >> bunch of warnings like this: >> >> >> >> /home/pq/git/weston/libweston/weston-launch.c: In function ‘handle_open’: >> >> /home/pq/git/weston/libweston/weston-launch.c:333:13: warning: In the GNU >> >> C Library, "major" is defined >> >> by <sys/sysmacros.h>. For historical compatibility, it is >> >> currently defined by <sys/types.h> as well, but we plan to >> >> remove this soon. To use "major", include <sys/sysmacros.h> >> >> directly. If you did not intend to use a system-defined macro >> >> "major", you should undefine it after including <sys/types.h>. >> >> if (major(s.st_rdev) != INPUT_MAJOR && >> >> >> >> >> >> Reverting this patch makes the warnings go away. >> >> >> >> What's the right fix here? >> >> >> >> In config.h I have: >> >> >> >> /* Define to 1 if `major', `minor', and `makedev' are declared in >> >> <mkdev.h>. >> >> */ >> >> /* #undef MAJOR_IN_MKDEV */ >> >> >> >> /* Define to 1 if `major', `minor', and `makedev' are declared in >> >> <sysmacros.h>. */ >> >> /* #undef MAJOR_IN_SYSMACROS */ >> >> >> >> I'm not sure what I needed to do get even that far, maybe wipe my >> >> out-of-tree build dir. Even then, I cannot find any evidence of >> >> configure actually running the tests. I always start a new build dir by >> >> running autogen.sh. >> > >> > Hi, >> > >> > there is an email thread of the problem from a slightly different point >> > of view: >> > https://lists.gnu.org/archive/html/autoconf/2016-09/msg00000.html >> > >> > If we keep the code as is, the warning will not go away until glibc >> > actually drops the things from sys/types.h and distros ship it. >> > Apparently there is a workaround one could make with config.site: >> > https://lists.gnu.org/archive/html/autoconf/2016-09/msg00013.html >> > >> > Or we could wait for a new autoconf release and require it, but the >> > discussion happened in 2016 and at least Gentoo does not have a >> > autoconf 2.70 yet. Or we could ship a fixed AC_HEADER_MAJOR. >> > >> > Or we could just revert this patch until something in the above changes >> > or we have migrated to Meson. >> > >> I wish the glibc people were a bit more diligent about the deprecation :-( >> Haven't looked at how Meson does it, but I would suspect it has a >> workaround similar to this [1]. >> >> -Emil >> [1] >> https://cgit.freedesktop.org/mesa/drm/commit/?id=7040fea0280bad527ed4b3d5eee7d7bfbf303efc > > Hi Emil, > > the workaround taken in libdrm was discussed in that 2016 email thread, > concluding it is not a good idea, because autoconf compiler tests have > horrible code quality: they often provoke warnings anyway, which means > -Werror would cause false negatives in tests. > > Maybe it's fine for AC_HEADER_MAJOR alone? > Precisely what I meant to say. Having a global -Werror is a bad idea, although using it for that macro alone should be fine.
-Emil _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel