PyInstaller 1.5rc1 fails to build executables on Snow Leopard. It always
wants to use the 64-bit bootloader (which doesn't exist) even when I
configure/build with a 32-bit python.
Python on Snow Leopard is an i386/x64 universal binary, which runs as a
64-bit executable by default. You can choose 32-bit by setting the
environment variable VERSIONER_PYTHON_PREFER_32_BIT=yes. However,
platform.architecture(), which PyInstaller uses to choose a bootloader,
doesn't work correctly -- it apparently gets confused by the universal
binary an always returns ('64bit', '').
After poking around a bit it seems that the most reliable way to detect
the architecture is by checking sys.maxint. I was able to fix the
problem by replacing "platform.architecture()[0]" with this function:
def architecture():
if sys.maxint > 3**32:
return '64bit'
else:
return '32bit'
I can submit a patch if that would be helpful.
The good news is that once I fix this problem, it works perfectly -- I
don't need any of the patches or workarounds that I had with previous
versions.
- Nathan
--
You received this message because you are subscribed to the Google Groups
"PyInstaller" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/pyinstaller?hl=en.