When I compile the trunk on MacOS X 10.6 I get a compile (or rather link) error in ctypes: ld: in build/temp.macosx-10.5-fat3- 2.7/Users/ronald/Projects/python/python-trunk- clean/Modules/_ctypes/libffi_osx/powerpc/ppc-darwin.o, unsupported encoding in FDE for architecture ppc This makes it impossible to build a univeral binary Python framework on OSX 10.6. I don't think I'm running into the same issue with PyObjC, it that works I'll port PyObjC's version of ppc-darwin to the version of libffi that's used by ctypes.
Annoyingly PyObjC suffers from the same issue. I hadn't noticed this yet because I've been linked to the system copy of libffi the last couple of months. Luckily Apple has already released the source code for libffi in 10.6 (see http://www.opensource.apple.com/source/libffi/libffi-15/, or http://www.opensource.apple.com/tarballs/libffi/libffi-15.tar.gz). Next steps: * Check diffs between this release and the one in ctypes * Update ctypes libffi_osx based on those differences * Test the result on 10.5 and 10.6
Thomas: I haven't fixed anything yet. The error only happens when building a PPC binary (either a single- architecture build on a PPC machine or a fat binary). The error occurs in assembly files that contain manually constructed C++ exception stack unwind helper segments, I guess those are not entirely valid and the linker got more strict.
I've merged the latest copy of Apple's version of libffi into libffi_osx, that ensures that libffi compiles again on OSX 10.6. Checked in in r74972 (trunk), r74973 (2.6), r74974 (3.x), r74975 (3.1).