[Lsb-infrastructure] Xvfb server can't build with current X headers

Denis Silakov silakov at ispras.ru
Tue Sep 2 05:38:47 PDT 2008


Wichmann, Mats D wrote:
> When compiling an X server, additional stuff is expected
> to be present in <X11/X.h>, which provides some redefinition
> protection around XID, Mask and Atom, as well as dealing
> with 32 vs 64-bit server compiles.
>
> I'm not quite sure how to proceed with this but it does
> break the build of lsb-xvfb, which sees redefinitions of
> these three is its private Xdefs.h file (since the protection
> macros are not defined), and in a 64-bit system considers
> the declaration of CARD32 to be a conflict (during the
> definitions of Atom and Font, since these use CARD32) since
> the _XSERVER64 macro is not defined in this case.
>
> Previously, xvfb wasn't confused about these are we used
> a native X.h which has the macros in place.
>   

X.h says:
/*
 * _XSERVER64 must ONLY be defined when compiling X server sources on
 * systems where unsigned long is not 32 bits, must NOT be used in
 * client or library code.
 */

So it seems it is correct for us not to provide declarations enclosed 
with '#ifdef _XSERVER64'.

I'd prefer to modify our x server build process instead. For example, by 
creating a copy of X.h header, patching it before build process and 
using this patched header during build.

-- 
Regards,
Denis.



More information about the lsb-infrastructure mailing list