我开始学习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
但是,我的/usr/local/Cellar/llvm/3.9.0/
文件夹中有opt
。我在Mac OS X上,并且使用brew install llvm
安装了完整的LLVM,但错误仍然存在。这是一个真正的版本问题,我必须统一LLVM并重新安装其3.7版本?还是ghc
难以找到opt
,并且我可以修改某种搜索路径来解决问题?感谢您的帮助并度过愉快的一天。
GHC文档说它与LLVM-2.8 兼容,但是正如您发现的那样,它实际上需要LLVM-3.7。
获得它的最简单方法是:
brew install llvm@3.7
这将在您的路径中以-3.7
后缀(例如clang-3.7
)安装LLVM二进制文件。GHC将需要在子目录中的未修饰名称:
export PATH=/usr/local/opt/llvm@3.7/lib/llvm-3.7/bin:$PATH