2013-05-18 98 views
0

我正在嘗試使用CMAKE在Windows 7上構建Clang。CMAKE是否支持Python 3?

我已經執行了以下步驟;如this guide中所述。該指南在一個方面是錯誤的:Python 必需的,沒有它,cmake返回一個錯誤。我假設因爲cmake支持Visual Studio 11,並且我沒有安裝VS10,所以可以用另一個代替另一個。這樣做會產生我看到的錯誤似乎不合理。

我已經安裝了Python 3.3使用Windows安裝程序x86的所有默認選項從this page

使用Python 3.3安裝和路徑,cmake -G "Visual Studio 11" ..\llvm返回以下錯誤:

D:\Code\build>cmake -G "Visual Studio 11" ..\llvm 
<snip> 
-- Found PythonInterp: C:/Python33/python.exe (found version "3.3.2") 
-- Constructing LLVMBuild project information 
CMake Error at CMakeLists.txt:308 (message): 
    Unexpected failure executing llvm-build: Traceback (most recent call last): 

    File "D:/Code/llvm/utils/llvm-build/llvm-build", line 3, in <module> 
     import llvmbuild 
    File "D:\Code\llvm\utils\llvm-build\llvmbuild\__init__.py", line 1, in <module> 
     from main import main 

    ImportError: No module named 'main' 


-- Configuring incomplete, errors occurred! 

D:\Code\build> 

什麼?這是否表示python 2.x和python 3.x之間的兼容性問題,還是其他?我找不到任何明確的信息,指出cmake是否支持python 3.x,但我找不到任何說明它不是。如果可能的話,我寧願在我的機器上不要有兩個不兼容的python版本。

編輯:啊。似乎this question問同樣的事情,似乎表明python 3.x是而不是支持。如果實驗證明這一事實,我會將其作爲答案發布。 D'哦!

+0

而不是詢問lazyweb,我會檢查錯誤報告。我確定已經有一個針對Python 3支持的功能請求。 –

+0

有一對夫婦指出了這種方式,但沒有什麼明顯的。無論如何,我猜測這是問題所在。因爲我碰巧知道python 2.x和python 3.x不兼容;沒有理由認爲平均新手會。真正的問題是「這個錯誤信息是什麼意思?」 - 因爲它沒有給出**實際問題**的任何跡象 - 像往常一樣對於開源項目。 –

回答

2

它不CMake的,它的llvm-build工具,其用作用於LLVM的CMake的配置過程的一部分。它生活在utils/llvm-build並且讀取LLVMBuild.txt文件。目前,llvm-build不支持Python 3.x

對於大多數主要的LLVM基於Python的工具(例如​​3210測試運行器),情況就是如此。

FWIW,CMake的本身並不依賴於Python的,因此不會在意安裝Python版本。