Following commit: ----------------------------------------------- commit 17dfe3ac93217b43f93bc81d1129bd38a89d0368 Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> AuthorDate: Wed Jan 23 15:38:45 2019 +1100 Commit: Emil Velikov <emil.l.velikov@gmail.com> CommitDate: Thu Feb 7 17:43:01 2019 +0000 xf86drm: Add drmIsMaster() ... --- a/xf86drm.h +++ b/xf86drm.h @@ -37,6 +37,7 @@ #include <stdarg.h> #include <sys/types.h> #include <stdint.h> +#include <stdbool.h> ----------------------------------------------- Breaks X server build: ----------------------------------------------- FAILED: hw/xfree86/dri2/xorg_dri2@sta/dri2.c.o ... In file included from /path/to/include/xf86drm.h:40:0, from /path/to/hw/xfree86/dri2/dri2.c:39: /path/to/hw/xfree86/common/xf86Opt.h:44:10: error: two or more data types in declaration specifiers Bool bool; ^ In file included from /path/to/hw/xfree86/common/xf86str.h:43:0, from /path/to/hw/xfree86/common/xf86.h:44, from /path/to/hw/xfree86/dri2/dri2.c:48: /path/to/hw/xfree86/common/xf86Opt.h:44:14: warning: declaration does not declare anything Bool bool; ^ ----------------------------------------------- Because couple of structures in X source code are using struct members named as "bool" (added in 2012): ./hw/xfree86/common/xf86Opt.h: Bool bool; ./hw/xwin/winconfig.h: Bool bool; (FYI: Bool is defined as "int" in several X headers.) Please revert the part adding "stdbool.h" include / "bool" typedef to the xf86drm.h header used by X server, until somebody renames those badly named struct members in X server sources.
Fixed by: ----------------------------------------------------- commit eba6609b7bee5a56fa5334992b1e6f3aef8d244a Author: Eric Engestrom <eric.engestrom@intel.com> Date: Fri Feb 8 14:46:07 2019 +0000 xf86drm: fix return type for drmIsMaster() Xserver has struct members named `bool`, which means the last commit breaks its build with errors like this: error: two or more data types in declaration specifiers Bool bool; ^ Fix this by making it return a 0/1 integer, with the same semantic as the boolean it was before. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=109587 Fixes: 17dfe3ac93217b43f93b "xf86drm: Add drmIsMaster()" Cc: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> ----------------------------------------------------- I hope somebody fixes also those X server xf86Opt.h & winconfig.h headers soon as even some of X server code itself is using stdbool.h: ----------------------------------------------------- $ git grep stdbool.h hw/xquartz/GL/capabilities.h:#include <stdbool.h> hw/xquartz/mach-startup/bundle-main.c:#include <stdbool.h> hw/xwin/winmultiwindowicons.c:#include <stdbool.h> test/damage/primitives.c:#include <stdbool.h> test/simple-xinit.c:#include <stdbool.h> -----------------------------------------------------
*** Bug 109678 has been marked as a duplicate of this bug. ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.