构建 LLVM 失败并显示空错误消息

2024-04-09

我正在尝试构建 LLVM 3.1 和 Clang 3.1。我遵循了入门指南铿锵的网站 http://clang.llvm.org/get_started.html- 检查必要位置的存储库,获取 Python 等。

如果我安装了 Python 3.3,它会给出 Python 语义错误 -from main import main,没有调用任何模块main。如果我安装了 Python 2.7,它会给出

CMake Error at CMakeLists.txt:307 (message):
  Unexpected failure executing llvm-build:
Configuring incomplete, errors occurred!

这是最没有帮助的。关于如何在 Windows 上构建 LLVM 和 Clang,或者至少尝试确定问题所在,有什么建议吗?

需要注意的是,我尝试使用 Visual Studio 2012 进行构建,它受到 CMake 的官方支持,但在创建 LLVM 3.1 和 Clang 3.1 时并未发布。

编辑:以下是 CMakeLists.txt 中的必要行

message(STATUS "Constructing LLVMBuild project information")
execute_process(
  COMMAND ${PYTHON_EXECUTABLE} ${LLVMBUILDTOOL}
            --native-target "${LLVM_NATIVE_ARCH}"
            --enable-targets "${LLVM_TARGETS_TO_BUILD}"
            --enable-optional-components "${LLVMOPTIONALCOMPONENTS}"
            --write-library-table ${LLVMCONFIGLIBRARYDEPENDENCIESINC}
            --write-cmake-fragment ${LLVMBUILDCMAKEFRAG}
            ERROR_VARIABLE LLVMBUILDOUTPUT
            ERROR_VARIABLE LLVMBUILDERRORS
            OUTPUT_STRIP_TRAILING_WHITESPACE
            ERROR_STRIP_TRAILING_WHITESPACE
  RESULT_VARIABLE LLVMBUILDRESULT)

# On Win32, CMake doesn't properly handle piping the default output/error
# streams into the GUI console. So, we explicitly catch and report them.
if( NOT "${LLVMBUILDOUTPUT}" STREQUAL "")
  message(STATUS "llvm-build output: ${LLVMBUILDOUTPUT}")
endif()
if( NOT "${LLVMBUILDRESULT}" STREQUAL "0" )
  message(FATAL_ERROR
    "Unexpected failure executing llvm-build: ${LLVMBUILDERRORS}")
endif()

在这里,你可以看到${LLVMBUILDRESULT}不好,但是${LLVMBUILDERRORS}显然应该包含构建错误但不包含任何内容。


问题有两个:

首先,LLVM 需要 Python 2.x。如果你尝试强制它使用 3.3,它将失败。文档可能应该对此进行一些说明(当我查看时,我找不到任何对它的引用),但在这个阶段,项目仍然很常见,例如,“Python”或“Python 2.6+”它们的意思是“2.6-2.7,但不是 3.x”。

其次,与大多数配置/构建工具一样,CMake 仅检测代码中的依赖项更改,而不检测系统配置中的依赖项更改。因此,如果您尝试构建,然后更改系统,然后再次尝试构建,它不会注意到更改并相应地调整其配置。它已经配置为使用 Python 3.3,并且没有注意到您已将其替换为 Python 2.7,因此出现了问题。你必须强制它重新配置——你可以通过清除缓存来做到这一点,但最简单、最干净的答案是解压/git/无论你自己一个干净的目录并重新开始。 (或者,如果您可以像许多项目一样进行树外构建,只需清除构建目录并重新开始即可。)

最后,根据文档,你真的不需要 Python 来构建 llvm 和 clang,除非你想运行测试。所以,除非文档是错误的(这当然是可能的),如果你刚刚完成了一个完全没有 Python 的干净构建,那么它就会起作用。当你尝试它时它不起作用的原因与你安装2.7后它不起作用的原因是一样的:你处于部分配置状态,它认为它有Python,因此它坚持使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构建 LLVM 失败并显示空错误消息 的相关文章

  • Django 管理中的嵌套内联?

    好吧 我有一个相当简单的设计 class Update models Model pub date models DateField title models CharField max length 512 class Post mode
  • python列表理解和extend() [重复]

    这个问题在这里已经有答案了 深入学习 Python 2 7 1 但未能理解这一点 几个小时 gt gt gt a 1 2 gt gt gt b 3 4 gt gt gt gt gt gt a extend b 0 gt gt gt a 1
  • 不要在异常堆栈中显示 Python raise-line

    当我在 Python 库中引发自己的异常时 异常堆栈将引发行本身显示为堆栈的最后一项 这显然不是一个错误 在概念上是正确的 但是当您在外部使用代码 例如作为模块 时 它会将重点放在对调试无用的东西上 有没有办法避免这种情况并强制 Pytho
  • 为什么我在 Python 中收到“连接被拒绝”错误? (插座)

    我是套接字新手 请原谅我完全缺乏理解 我有一个服务器脚本 server py usr bin python import socket import the socket module s socket socket Create a so
  • CTRL+C 和 CTRL+Break 不同吗?

    我一直认为它们绝对是一样的 但我刚刚在以下位置找到了一些值 CTRL C EVENT 和 CTRL BREAK EVENT设置控制台Ctrl处理程序 http msdn microsoft com en us library ms68601
  • 如何将当前日期分配给 odoo v8 中的日期字段?

    我想将当前日期分配给以下代码中的日期字段 start date calendar obj create cr uid name rec res act ion user id rec res asgnd to id start date l
  • Python - 如何将双引号附加到字符串并存储为新字符串?

    我正在使用 Python 2 6 并且想将双引号附加到字符串并将其存储为新的字符串变量 我不想打印它 但稍后在我的 python 脚本中使用它 例如 a apple b some function a gt b would be equal
  • 如何将 NaN 数组插入 numpy 二维数组

    我试图在二维数组中的特定位置插入任意数量的 NaN 值行 我正在将来自微控制器的一些数据记录在 csv 文件中并使用 python 进行解析 数据存储在 3 列 2D 数组中 如下所示 122 0 1 0 47 0 123 0 1 0 47
  • OpenCV 在使用 anaconda 的 Linux 上无法与 python 正常工作。收到 cv2.imshow() 未实现的错误

    这就是我得到的确切错误 我的操作系统是 Ubuntu 16 10 OpenCV 错误 未指定错误 该功能未实现 使用 Windows GTK 2 x 或 Carbon 支持重新构建库 如果您使用的是 Ubuntu 或 Debian 请安装
  • Python Peeweeexecute_sql() 示例

    我使用 Peewee 模块作为我的项目的 ORM 我看了整个文档 没有明确的 有关如何处理 db execute sql 结果的示例 我跟踪代码 只能发现db execute sql 返回游标 有谁知道如何处理光标 例如迭代它并获取 返回复
  • SyntaxError:多个异常类型必须用括号括起来

    我是初学者 在使用 python 安装 pycaw 进行音频控制后遇到问题 在放置 pycaw 的基本初始化代码时 出现以下错误 Traceback most recent call last File c Users volumeCont
  • numpy.polyfit 没有关键字“cov”

    我试图使用 polyfit 来找到一组数据的最佳拟合直线 但我还需要知道参数的不确定性 所以我也想要协方差矩阵 在线文档建议我写 polyfit x y 2 cov True 但这给出了错误 类型错误 polyfit 得到了意外的关键字参数
  • NumPy 中 exp(-x^2) 的快速傅立叶变换

    I have to calculate numerically the 2nd derivative of a Gaussian function I ve read every question on this topic here bu
  • 为什么 CMake 没有检测到对我生成的文件的依赖关系?

    我正在尝试使用自定义命令生成标头 每次重建时都应更新标头 以便包含它的源文件也将被重建 实际命令是一个脚本 但这里是一个简化版本 这是我的项目 CMakeLists txt cmake minimum required VERSION 2
  • 嵌套 for 循环以列出具有不同“if”条件的理解

    我正在尝试将此嵌套循环转换为列表理解 但我不确定是否可能 因为 tmp 列表中的项目可能有不同的值 这是最好的方法吗 谢谢 final for a in range 13 1 for b in range 0 4 for c in rang
  • 以系统帐户运行exe

    我正在尝试将我的 c exe 作为系统帐户运行 我怎样才能做到这一点 我试过了
  • python字符串包含双引号字符

    我的输入字符串由字符组成 包括双引号和单引号 和 B SS JU PQ AD DDSFD ABD E J 但是 当我从文本文件打开上述输入并打印它时 第三行中的双引号 被打印为 xe2 x80 x9d 我的目标是进行简单的字符计数 B 2
  • 如何在Python中检查元组是否包含元素?

    我试图找到可用的方法 但找不到 没有contains 我应该使用index 我只想知道该项目是否存在 不需要它的索引 You use in if element in thetuple whatever you want to do
  • jupyter run magic 将参数传递给笔记本

    当您在第一个 jupyter 笔记本 first ipynb 中时 您可以执行第二个 但如何传递参数呢 假设第二个有以下内容 xx 10 您可以从第一个调用第二个 如下所示 run second ipynb xx will print 10
  • 交响二阶颂歌

    我有一个简单的二阶 ODE 的齐次解 当我尝试使用 Sympy 求解初始值时 它返回相同的解 它应该替代 y 0 和 y 0 并产生一个没有常数的解 但事实并非如此 这是建立方程的代码 它是一个弹簧平衡方程 k 弹簧常数 m 质量 我在其他

随机推荐

  • Firefox 错误地记住单选按钮

    在 Firefox 7 0 1 中 我有两个复选框和许多其他输入 当我通过 jQuery 添加另一个输入时 Firefox 无法正确记住选择了哪些无线电输入 例如 如果我选择第一个单选按钮 然后刷新页面 则选择第二个单选按钮而不是第一个单选
  • 如何使用 Facebook Graph API 执行 FQL 查询

    我正在寻找一种使用新的 Open Graph API 执行 FQL facebook 查询语言 查询的方法 但没有成功 有谁知道我该怎么做 通过这个优秀的例子在这里找到了答案 http code google com p facebook
  • 无头 Linux 上的命令行“Android update sdk”

    如何在无头 Linux 服务器上更新 安装 Android SDK 平台 我得到的只是以下错误 似乎实际上不支持 更新 sdk 操作 android sdk linux 86 tools android verbose update sdk
  • 为什么有 2 种 AppFabric?

    我看到我们现在拥有 Windows Server AppFabric 和 Azure AppFabric 这只是 Microsoft 营销部门的命名空间冲突还是这些技术共享通用接口 有人告诉我 可以在本地生产服务器上使用 Azure App
  • 如何在 iOS 程序退出时关闭 UIManager 文档

    我有一个围绕全局 UIManagedDocument 核心数据 的 iOS 程序 我想知道如何确保它在程序退出之前正确保存和关闭 首先 如果我想确保在退出之前保存该文档 我应该 可以打电话吗 void closeWithCompletion
  • 如何在 socket.io python 服务器中获取连接客户端的会话 ID?

    我有这样的事情 from flask import Flask jsonify request render template Response from flask socketio import SocketIO emit app Fl
  • 如何将图例放在情节之外

    我有一系列 20 个图 不是子图 要在一个图中绘制 我希望图例是在盒子之外的 同时 我不想更改轴 因为图形的尺寸会减小 我想将图例框保留在绘图区域之外 我希望图例位于绘图区域右侧的外部 有没有办法减小图例框内文本的字体大小 从而使图例框的尺
  • Sequelize 创建具有关联的对象

    我正在尝试保存续集模型及其关联 所有关联都是一对一的 从数据库中检索具有关联的模型效果很好 但插入它们是另一回事 而且文档只会让我更加困惑 这是我的插入方法 models radcheck create user include model
  • 将csv文件导入access的VBA程序

    我需要 VBA 中的程序将数据从 csv excel 文件导入到 access 而不需要一些记录 如页眉和页脚 例如 我在 csv 文件中有一个表 其中包含一些 不属于表日期的句子 A1 这是一些句子标题 A2标题A3 A7 数据数据数据数
  • Azure VM的公共静态IP [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有什么方法可以赋值Azure VM 的公共静态 IP 我是否必须通过 Azure 虚拟网络进行操作
  • 如何使用 Tailwindcss 创建真正的粘性页眉/页脚(即使滚动也粘在底部)?

    很多博客和帖子声称使用 Tailwindcss 创建 粘性页脚 但我找不到thought关于内容超过简短的 hello world 行的情况 例如在none在这些示例中 如果主区域足够高可以滚动 则页脚会 粘住 https www goma
  • 用于分配视口元参数的脚本,iPhone / iPad 难题

    我正在使用 JavaScript 片段根据浏览器窗口的宽度设置视口元标记的内容参数 该脚本几乎完成了它应该做的事情 它将任何大屏幕设备的初始比例值设置为 1 将纵向模式下的 iPad 设置为 0 5 并将任何屏幕宽度小于 700px 的设备
  • numpy 广播如何执行得更快?

    在下面的问题中 https stackoverflow com a 40056135 5714445 https stackoverflow com a 40056135 5714445 Numpy 的广播提供了一种解决方案 其速度几乎比使
  • 使用支持 bean 的单个属性绑定两个 JSF 输入字段

    假设我有两个h inputText成分 我想将两个文本字段绑定到支持 bean 中的单个属性 问题是提交给支持 bean 的值是来自第二个文本字段的值 我希望该值应该从用户输入文本的字段提交 My code
  • 向特定联系号码发送 Whatsapp 消息(Swift 项目)

    我正在尝试向存储在全局变量中的收件人号码发送 Whatsapp 消息 通过使用这个简单的代码 let whatsAppUrl NSURL string whatsapp globalPhone if UIApplication shared
  • comonad 的简洁总结。 (其中 monad 是“不纯计算的类型”)

    就简洁的总结而言 这种对 Monad 的描述似乎胜出 https stackoverflow com questions 2488646 why are side effects modeled as monads in haskell 将
  • 通过扩展名限制可选文件[重复]

    这个问题在这里已经有答案了 如何通过扩展名限制可以使用 input type file 元素选择的文件 我已经知道接受属性 但在 chrome 中 它确实通过定义的最后一个 MIME 类型 在本例中为 gif 来限制文件 而 FF4 甚至不
  • 为什么需要EventSourcingHandler(在聚合对象中)?

    公平警告 我不知道我在做什么 所以即使问这个问题也可能会出错 我想要更新一个简单对象 聚合 的状态 然后向 UI 提供已更改对象的投影 这是我的聚合对象 命令处理程序存在 但此处未显示 Aggregate public class Widg
  • 具有二进制正文的 iOS swift post 请求

    我想从 iOS swift3 发出一个 POST 请求 该请求传递一大块原始字节作为正文 我做了一些实验 这让我认为以下方法有效 let url URL string https bla foo bar var request URLReq
  • 构建 LLVM 失败并显示空错误消息

    我正在尝试构建 LLVM 3 1 和 Clang 3 1 我遵循了入门指南铿锵的网站 http clang llvm org get started html 检查必要位置的存储库 获取 Python 等 如果我安装了 Python 3 3