Hi,

I am trying to compile Xdmx (which is based on XFree86) on
ia-64 machine and I'm facing the following problem which seems
to be general to X servers.

The following comment is from X11/X.h header file:
 
/*
 * _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.
 */

What happens is that on 64-bit platforms some types, like XID, Atom and
some others are declared to be unsigned int (32bit) on the X server side
BUT declared as unsigned long (64bit) on the X client side !!

What happens when the X server should also call libX11, like Xdmx proxy?
There is a mismatch, the server sends 32bit object to some libX11
function which expect for 64bit object !!

Does anyone tried to face this problem before ?

Does anyone know what is the root reason for this typing mismatch ?
I have tried to compile libX11 while defining _XSERVER64 (which makes
the above types to be declared as 32-bit, like on the server) but it
did not work well - I had memory alignment and allocation problems :(

Thanks,


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to