Python/ceval.c and many other places rely on __ppc__ (and __ppc64__) symbol defined like below. Unfortunately on my Linux ppc __ppc__ is never defined while __powerpc__ is. Build fortunately failed so the problem was noticed. The fix is to check for __powerpc__ and __powerpc64__ as for example glibc does. #if defined(__ppc__) /* <- Don't know if this is the correct symbol; this section should work for GCC on any PowerPC platform, irrespective of OS. POWER? Who knows :-) */