issue-select-kevent-osx select module compile errors on OS X multi-architecture builds The changes for Issue7211 to support 64-bit kevent ident fields in 64-built builds cause compile errors on OS X multi-arch builds which include both 32-bit and 64-bit variants. To support C data types which vary between 32-bit and 64-bit, Include/pymacconfig.h does some magic conditional type definitions overriding the standard values derived from autoconf configure processing. Previously, SIZEOF_UINTPTR_T was not referenced in the Python source; now that selectmodule.c uses it, it needs to be added to pymacconfig.h. Although the select changes were only added to trunk (r76108) and py3k (r76111), it would be best to apply this fix to the maintenance branches as well in the event something else gets added or backported to them. APPLIES: py3k, trunk, 3.1, 2.6 diff -r b88e8512e453 Include/pymacconfig.h --- Include/pymacconfig.h Mon Nov 30 16:26:52 2009 -0800 +++ Include/pymacconfig.h Mon Nov 30 16:28:53 2009 -0800 @@ -14,6 +14,7 @@ # undef SIZEOF_PTHREAD_T # undef SIZEOF_SIZE_T # undef SIZEOF_TIME_T +# undef SIZEOF_UINTPTR_T # undef SIZEOF_VOID_P # undef SIZEOF__BOOL # undef WORDS_BIGENDIAN @@ -39,6 +40,7 @@ # define SIZEOF_PTHREAD_T 8 # define SIZEOF_SIZE_T 8 # define SIZEOF_TIME_T 8 +# define SIZEOF_UINTPTR_T 8 # define SIZEOF_VOID_P 8 # else # ifdef __ppc__ @@ -50,6 +52,7 @@ # define SIZEOF_PTHREAD_T 4 # define SIZEOF_SIZE_T 4 # define SIZEOF_TIME_T 4 +# define SIZEOF_UINTPTR_T 4 # define SIZEOF_VOID_P 4 # endif