Here's one of the generated lines that's causing me grief. DECLARE_TYPE(RankIterator, t_RankIterator, ::java::lang::Object, RankIterator, t_RankIterator_init_, PyObject_SelfIter, ((PyObject *(*)(t_RankIterator *)) get_next<t_RankIterator,t_JArray< jint >,JArray< jint >>), t_RankIterator__fields_, 0, 0);
It yields this: build/_PPD/__wrap02__.cpp:27284: error: ‘t_JArray’ was not declared in this scope build/_PPD/__wrap02__.cpp:27284: error: parse error in template argument list build/_PPD/__wrap02__.cpp:27284: error: insufficient contextual information to determine type build/_PPD/__wrap02__.cpp:27284: warning: ‘>>’ operator will be treated as two right angle brackets in C++0x build/_PPD/__wrap02__.cpp:27284: warning: suggest parentheses around ‘>>’ expression build/_PPD/__wrap02__.cpp:27284: error: spurious ‘>>’, use ‘>’ to terminate a template argument list build/_PPD/__wrap02__.cpp:27284: error: expected primary-expression before ‘)’ token build/_PPD/__wrap02__.cpp:27284: error: too many initializers for ‘PyTypeObject’ Where does t_JArray get defined? I can't find it. Bill