【问题标题】:Error building haskell llvm bindings on Linux在 Linux 上构建 haskell llvm 绑定时出错
【发布时间】:2012-01-04 11:42:04
【问题描述】:

我构建了 llvm 3.0,从 here 下载。我做到了:

./configure CC=gcc CXX=g++ --enable-shared

sudo make -j5 -s 安装

接下来,我从 here 克隆了 LLVM 绑定。我正在尝试:

runhaskell 设置配置

但我明白了:

正在配置 llvm-3.0.0.0...

Setup.lhs:至少缺少以下依赖项:

llvm-base ==3.0.*,类型级别 -any

我正在运行 Linux Mint 64 位(相当于 Ubuntu 11.0)。 GHC 是 6.12.3。我尝试了 cabal 安装,但显然 llvm 版本太旧而无法运行一些示例(我弄错了吗?)。

我做错了什么?

【问题讨论】:

    标签: haskell llvm llvm-3.0


    【解决方案1】:

    Bryan 最近将 llvm 包一分为二,该拆分还没有被破解。因此,如果您不想简单地安装 hackage 版本,

    1. 安装type-level 软件包(cabal 安装应该可以正常工作)
    2. cd 进入 llvm-repo 的base 子目录,安装llvm-base
    3. cd进入llvm目录,安装

    我没有尝试过,所以它可能不起作用,但通常 Bryan 的 repos 是可构建的,所以很有可能它可以。

    【讨论】:

    • 我不确定是否适合在此处发布后续内容。但我会做的。我尝试构建 llvm-base,但出现编译错误,需要在包含 DataTypes 之前定义宏 __STDC_CONSTANT_MACROS。即使我手动向 gcc 添加 -D 选项(通过将 gcc 重新定义为 bash 脚本。我知道这很可怕),我在 LLVM/Target/Native.hs 中得到“找不到模块 `LLVM.Target.TARGET':” :8:7.
    • TARGET 是指定架构的宏。必须在某个地方定义才能选择正确的模块,快速查看并没有揭示确切的位置。我怀疑它将-DTARGET=X86(例如)添加到.cabal 文件中的-cpp-options。最好只安装最新的 hackage 版本。
    • 我确实尝试过。当我尝试编译任何示例时,它会给出一堆链接错误。
    • 不足为奇。在查看configure.ac 之后,您在安装之前使用export target=YOUR_PLATFORM 可能会有更好的机会,但我并不太乐观。为什么不直接安装hackage版本?
    • 不,我的意思是我尝试安装 hackage 版本(不是我尝试的选项)。它无法编译示例..也许我做错了什么..很多链接错误!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多