On Friday, November 24, 2006, at 08:21PM, "Thomas Heller" <[EMAIL PROTECTED]> wrote: >I'd like to ask for help with an issue which I do not know >how to solve. > >Please see this bug http://python.org/sf/1563807 >"ctypes built with GCC on AIX 5.3 fails with ld ffi error" > >Apparently this is a powerpc machine, ctypes builds but cannot be imported >because of undefined symbols like 'ffi_call', 'ffi_prep_closure'. > >These symbols are defined in file > Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c. >The whole contents of this file is enclosed within a > >#ifdef __ppc__ >... >#endif > >block. IIRC, this block has been added by Ronald for the >Mac universal build. Now, it seems that on the AIX machine >the __ppc__ symbols is not defined; removing the #ifdef/#endif >makes the built successful.
The defines were indeed added for the universal build and I completely overlooked the fact that ffi_darwin.c is also used for AIX. One way to fix this is #if ! (defined(__APPLE__) && !defined(__ppc__)) ... #endif That is, compile the file unless __APPLE__ is defined but __ppc__ isn't. This more clearly documents the intent. > >We have asked (in the SF bug tracker) for the symbols that are defined; >one guy has executed 'gcc -v -c empty.c' and posted the output, as far as I >see these are the symbols defined in gcc: > >-D__GNUC__=2 >-D__GNUC_MINOR__=9 -D_IBMR2 -D_POWER -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 >-D_AIX51 -D_LONG_LONG -D_IBMR2 -D_POWER -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 >-D_AIX51 -D_LONG_LONG -Asystem(unix) -Asystem(aix) -D__CHAR_UNSIGNED__ >-D_ARCH_COM > >What should we do now? Should the conditional be changed to > >#if defined(__ppc__) || defined(_POWER) > >or should we suggest to add '-D__ppc__' to the CFLAGS env var, or what? >Any suggestions? > >Thanks, >Thomas > >_______________________________________________ >Python-Dev mailing list >Python-Dev@python.org >http://mail.python.org/mailman/listinfo/python-dev >Unsubscribe: >http://mail.python.org/mailman/options/python-dev/ronaldoussoren%40mac.com > > _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com