为什么呢?我想这样做是因为安装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:我以为我是从自述文件中复制过来的......
我做到了!自述文件中有一个拼写错误!我的年龄相关的阅读障碍再次起作用。 ;)
答案 0 :(得分:1)
您的./configure
选项不正确。 --enable-universalsdk
应设置为正确的SDK,而不是/
!
这就是gcc
混淆的原因,请参阅选项-isysroot
。
因此,请检查/Developer/SDKs
中的SDK,并设置正确的SDK。
此外,您的gcc仅使用-arch ppc -arch i386
调用,其中不包含{64}标志的-arch x86_64
。
答案 1 :(得分:1)
为了选择正确的答案,我在上面写下评论:
正如Virgil Dupras所注意到的那样, 在这面旗帜中出现了错字:
--with-universal-archs=intel
它来自文件Mac/readme
,但我应该在发布之前抓住它。
另外,我建议您阅读Ned Deily的非常有用的评论。看看那些家伙并投票给他们。