From: https://bugs.freedesktop.org/show_bug.cgi?id=8882 The files swap_interval.c, indirect_util.c, indirect_texture_compression.c, indirect_program.c, indirect_dispatch_swap.c xserver/GL/glx make use of a Linux C header file, byteswap.h, to swap bytes in integers. In Mac OS X, version 10.4 at least, this functionality is put into libkern/OSByteOrder.h. So these files might need a block like: #elif defined(__APPLE__) #include #define bswap_16 OSSwapInt16 #define bswap_32 OSSwapInt32 #define bswap_64 OSSwapInt64 after #ifdef __linux__ #include #elif defined(__OpenBSD__) #include #define bswap_16 __swap16 #define bswap_32 __swap32 #define bswap_64 __swap64 and before #else #include #define bswap_16 bswap16 #define bswap_32 bswap32 #define bswap_64 bswap64 #endif