使用llvm编译haskell

时间:2016-12-11 05:27:28

标签: macos haskell llvm ghc

我开始学习Haskell,我发现ghc可以使用带有-fllvm标志的LLVM进行编译。每当我使用该标志时,都会收到错误消息:

<no location info>: error:
Warning: Couldn't figure out LLVM version!
         Make sure you have installed LLVM 3.7
ghc: could not execute: opt

但是,我的opt文件夹中有/usr/local/Cellar/llvm/3.9.0/。我在Mac OS X上安装了brew install llvm的完整LLVM,但错误仍然存​​在。这是一个真正的版本问题,我必须取消LLVM并重新安装其3.7版本?或ghc无法找到opt,我可以修改某种搜索路径来解决问题?感谢您的帮助,祝您度过愉快的一天。

1 个答案:

答案 0 :(得分:0)

GHC documentation表示它与llvm-2.8 +兼容,但正如您所发现的那样,它实际上需要llvm-3.7。

获得它的最简单方法是:

brew install llvm@3.7

这会在您的路径中安装llvm二进制文件,后缀为-3.7,例如clang-3.7。 GHC将需要非简单的名称,这些名称位于子目录中:

export PATH=/usr/local/opt/llvm@3.7/lib/llvm-3.7/bin:$PATH