2016-12-11 18 views
0

私はHaskellを学び始めていて、ghcはLLVMを-fllvmというフラグでコンパイルできることがわかりました。私はフラグを使用するたびに、私は、エラーメッセージが表示されます:ghcと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が見つかりました。問題を解決するために変更できる検索パスがありますか?助けてくれてありがとう、素晴らしい一日を。

+6

IIRC GHCがある(あるいは少なくともにするために使用)LLVMのバージョンについてかなり厄介を使用するので、あなたは3.7をインストールする必要があります。問題は、LLVMが機能を破壊するかなり頻繁なリリースサイクルを持っていることです。 GHCをこれらのバージョンで動作させることは苦痛です。詳細については、[このページ](https://ghc.haskell.org/trac/ghc/wiki/ImprovedLLVMBackend)を参照してください。 – Alec

答えて

0

GHC documentationはllvm-2.8 +と互換性があると言いますが、実際にはllvm-3.7が必要です。

それを得るための最も簡単な方法は次のとおりです。

brew install [email protected]

これはclang-3.7のように、-3.7接尾辞を使用してパスにLLVMのバイナリをインストールします。 GHCは、サブディレクトリにある飾り気のない名、必要があります。

export PATH=/usr/local/opt/[email protected]/lib/llvm-3.7/bin:$PATH