为什么?我想这样做是因为安装 SciPy 推荐它,我认为这将是一个很好的学习经验。之前已经问过这个问题(例如 here )。首选答案似乎是使用 MacPorts,但正如我所说,我想了解它是如何完成的。

无论如何,我获取源代码(Python-2.6.4.tgz)并解压缩。我阅读了有关如何构建 64 位“框架”构建的说明。据我了解,我应该跑

./configure --enable-framework --enable-universalsdk=/ --with-univeral-archs=intel

配置运行一段时间......并完成。当我做的时候,它显然有问题:
$ make
gcc -c -arch ppc -arch i386 -isysroot /  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes  -I. -IInclude -I./Include   -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
In file included from //usr/include/architecture/i386/math.h:626,
                 from //usr/include/math.h:28,
                 from Include/pyport.h:235,
                 from Include/Python.h:58,
                 from ./Modules/python.c:3:
//usr/include/AvailabilityMacros.h:108:14: warning: #warning Building for Intel with Mac OS X Deployment Target < 10.4 is invalid.

正在使用错误的参数调用 gcc。我是否有错误的参数要配置,或者我应该在环境中设置编译器标志,还是什么?

编辑:我在配置的输出中没有看到任何错误......我看到了这一行:
checking for OSX 10.5 SDK or later... yes

它以
creating Modules/Setup
creating Modules/Setup.local
creating Makefile

Edit2:我以为我是从自述文件中复制的...

我做到了!自述文件规范中有一个错字!我与年龄有关的阅读障碍又出现了。 ;)

最佳答案

您的 ./configure 选项不正确。 --enable-universalsdk 应该设置为正确的 SDK,而不是 / !
这就是 gcc 混淆的原因,请参阅选项 -isysroot
因此,请检查您在 /Developer/SDKs 中有哪些 SDK,并设置正确的 SDK。

此外,您的 gcc 仅使用 -arch ppc -arch i386 调用,其中不包括 -arch x86_64 这是英特尔 64 位标志。

关于python - 如何在 OS X 10.6.2 上实际构建 64 位 Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2177705/

10-16 22:33