1. Ronald Oussoren
  2. pyobjc
  3. Issues


Issue #27 resolved

i386 and x86_64

created an issue

By default python install.py only compiles modules for current architecture. It should be possible to compile pyobjc for both i386 and x86_64

Comments (3)

  1. Ronald Oussoren repo owner

    That's odd, the build should already be i386 and x86_64. On my machine:

    Lib/objc/_objc.so: Mach-O universal binary with 2 architectures
    Lib/objc/_objc.so (for architecture i386):  Mach-O bundle i386
    Lib/objc/_objc.so (for architecture x86_64):    Mach-O 64-bit bundle x86_64

    The architectures uses are those supported by the distutils configuration, on my machine:

    $ python -c 'from distutils.sysconfig import get_config_var; print get_config_var("CFLAGS")'
    -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes

    Which copy of python do you use (version, own build, python.org build, /usr/bin/python)? And on what version of OSX (especially when using /usr/bin/python)?

    One other thing to check: does "python setup.py install" in the pyobjc-core subproject install a single architecture or multiple?

  2. Kentzo reporter
    $python -c 'from distutils.sysconfig import get_config_var; print get_config_var("CFLAGS")'
    -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -DNDEBUG -g  -O3 -Wall -Wstrict-prototypes

    I was able to produce fat binaries by modifying env variable:

    export CFLAGS='-arch i386 -arch x86_64'

    Do you mean no additional steps needed?

  3. Log in to comment