簡體   English   中英

如何在OS X 10.6.2上實際構建64位Python

[英]How to actually build 64-bit Python on OS X 10.6.2

為什么? 我想這樣做是因為安裝SciPy推薦它,我認為這將是一個很好的學習經驗。 之前已經問過這個問題(例如這里 )。 首選答案似乎是使用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

編輯2:我以為我是從自述文件復制而來的......

我做到了! 自述文件中有一個拼寫錯誤! 我的年齡相關的閱讀障礙再次起作用。 ;)

您的./configure選項不正確。 --enable-universalsdk應該設置為正確的SDK,而不是/ 這就是為什么gcc感到困惑,請參閱選項-isysroot 因此,請檢查/Developer/SDKs ,並設置正確的/Developer/SDKs

此外,你的gcc僅用-arch ppc -arch i386調用,它不包括-arch x86_64 ,它是intel 64位標志。

為了選擇正確的答案,我在上面的評論中解釋:

由於注意到了維吉爾Dupras, 這個標志一個錯字:

--with-universal-archs=intel

它起源於Mac/readme文件,但我應該在發布之前抓住它。 另外,我建議您閱讀Ned Deily的非常有用的評論。 看看那些家伙並投票給他們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM