X11 headers like the main one <X11/Xlib.h> creates macros with common names like None, Status, Success. These collide with common enum values and types and since they are macros, they apply everywhere.
This is a particular problem for jumbo builds because much more code will get to see the X11 headers due to the nature of jumbo (merging files before compilation).
The plan now is to wrap the X11 headers in custom headers that undef the macros and put necessary values into a X11 namespace.
Comment 1 by bugdroid1@chromium.org
, Nov 10 2017