2013-05-18 100 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版本。