Building python packages for the correct architecture on OSX 10.5
Kevin Walzer
kw at codebykevin.com
Wed Nov 14 14:16:11 EST 2007
Arnaud Delobelle wrote:
> Hi fellow python enthusiasts.
>
> Having recently acquired a MacBook Pro (Intel Core 2 Duo) which comes
> with python2.5, I have been installing some modules that I need (PIL,
> psycopg2, PyXML ...).
>
> The problem is that [$python setup.py build] compiles all the binaries
> to universal files for i386 and ppc32, but not x86_64 or ppc64. It
> does not appear to be a problem when running scripts from the shell
> (as python seems to run as a 32 bits problems), but it is a problem
> from apache2/mod_python as the included apache2 runs as 64 bits
> processes.
>
> This means the modules need to be compiles for at least both i386 and
> x86_64 in my case. I have been looking at the setup.py files of
> various modules but I cannot see a suitable way to indicate what
> architectures I want them compiled for. So far, I have managed by
> adding the following lines in setup.py just after the Extension class
> is imported:
>
> OrigExtension = Extension
> def Extension(*args, **kwargs):
> extra_args = ['-arch', 'ppc', '-arch', 'ppc64',
> '-arch', 'i386', '-arch', 'x86_64 ']
> kwargs['extra_compile_args'] = extra_args +
> kwargs.get('extra_compile_args', [])
> kwargs['extra_link_args'] = extra_args +
> kwargs.get('extra_link_args', [])
> return OrigExtension(*args, **kwargs)
>
>
> Obviously this is a dirty hack, and I would like to know how to do
> this the right way. How can this be done better?
>
> --
> Arnaud
>
You may want to post this on the MacPython list--there are plenty of
experts there on building Python mudles for OS X.
--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
More information about the Python-list
mailing list