Today I discovered the this struct typedef struct{ const char* name; int basicsize; int itemsize; unsigned int flags; PyType_Slot *slots; /* terminated by slot==0. */ } PyType_Spec; with "PyTypeSlot *slots" being on line 190 of object.h causes a problem when compiled with code that brings in Qt. Qt has macro definitions of slots. With a cursory preprocessing of the file I was working with, using the handy gcc options -dM -E, I found that slots was defined to nothing #define slots and hence caused problems when object.h was brought into the mix. I will try to make a simple reproducer tomorrow. I know this probably could be solved by header file inclusion re-ordering, or in some cases #undef'ing slots before including Python.h, but I also thought the Python dev team would like to know about this issue. Tom