[Pythonmac-SIG] Building a 32 bit framework build in a 64 bit system
Chris Barker
chris.barker at noaa.gov
Wed Oct 17 20:38:11 CEST 2012
Ned,
Thanks for the detailed reply -- not sure when I'll be able to really
try this, but I'll let this list know how it goes when I do.
-CHB
On Tue, Oct 16, 2012 at 10:48 PM, Ned Deily <nad at acm.org> wrote:
> In article
> <CALGmxE+tAoZmL2FTP8B6aO9GRLyFGkAOZGC4ODV8cEEXDd8dGw at mail.gmail.com>,
> Chris Barker <chris.barker at noaa.gov> wrote:
>> I'm finding it a pain to force the Universal Python to 32 bit -- for
>> building extensions, as well as running, etc. So I though maybe it
>> would be nice to have a just plain 32 bit Intel build -- then I can
>> use that to run and test all mystuff (I'm depending on 32 bit only C++
>> code extensions), and also have something to re-distribute that
>> doesn't carry around worthless (for my needs) 64 bit baggage.
>
> With reasonably current python.org Pythons, you can use the ARCHFLAGS
> environment variable to limit which archs are used by Distutils (and
> tools which use Distutils like easy_install or pip) to build C extension
> modules. For example, to limit to just 32-bit Intel, you could use
> something like:
>
> ARCHFLAGS='-arch i386' easy_install psutil
>
> or
> export ARCHFLAGS='-arch i386'
> python2.7-32 setup.py install
>
>> Poking through the READMEs, I'm having trouble figuring out how to
>> build a 32bit-only python framework on a 64 bit system.
>> --with-universal-archs values all have multiple builds (hence
>> universal...).
>
> The Mac/README was revised and updated for the recent 3.3.0 release; at
> the moment, it has the most recent information. While it was written
> for that release, most of the information applies to 2.7.x as well.
>
> http://hg.python.org/cpython/file/default/Mac/README
>
>> or is it as simple as passing arch=i386 in to configure?
>
> Pretty much. Here's a very simple configure for use with Xcode 4 and
> OS X 10.8 for a non-framework 32-bit-only build. Adjust the deployment
> target as needed and for Xcode 3 I'd recommend using CC=gcc-4.2.
>
> ./configure CFLAGS="-arch i386" LDFLAGS="-arch i386" \
> CC=clang MACOSX_DEPLOYMENT_TARGET=10.8
>
>> (I'll want to build a dmg installer too, but cross that bridge when I
>> come to it...)
>
> Look at the readme for the installer build script (again, this is the
> more recent 3.3+ version):
>
> http://hg.python.org/cpython/file/default/Mac/BuildScript/README.txt
>
>> NOTE: I'm running 10.7, and would like to use the latest XCode (4.2?),
>> and am OK with the result only working on 10.7+ systems, though 10.6
>> and above would be nice.
>
> Set the deployment target env variable to 10.6 or whatever version you
> need. By the way, at the moment, the latest version of Xcode for 10.7
> and 10.8 is Xcode 4.5.1 available for free through App Store.app.
>
> There are some gotchas with the most recent versions of Xcode 4. Among
> them are the elimination of the use of the /Developer directory; now
> things like SDKs are contained within Xcode.app itself. You can find
> them using xcodebuild:
>
> xcodebuild -version -sdk macosx10.7 Path
>
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Deve
> loper/SDKs/MacOSX10.7.sdk
>
> And, after installing/updating Xcode.app, you also need to install the
> "Command Line Tools" component of Xcode from Xcode -> Preferences. That
> installs things like clang, make, ld, and system include files into
> their conventional places within /usr.
>
> Good luck!
>
> --
> Ned Deily,
> nad at acm.org
>
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
> unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
More information about the Pythonmac-SIG
mailing list