2013-10-13 2 views
7

У меня есть LLVM/opt-3.2, установленный вместе с llvm-3.2.0.2, и я только что установил GHC 7.6.2 из пакета Ubuntu. Однако, когда я пытаюсь скомпилировать GHC с -fllvm -v3, я получаю ошибку:Использование GHC с LLVM 3.2

*** CodeGen: 
*** LlVM CodeGen: 
Error (figuring out LLVM version): fd:10: hGetLine: end of file 

<no location info>: 
    Warning: Couldn't figure out LLVM version! 
      Make sure you have installed LLVM 
*** LLVM Optimiser: 
'opt-3.0' '/tmp/ghc17812_0/ghc17812_0.ll' '-o' '/tmp/ghc17812_0/ghc17812_0.bc' '-mem2reg' '--enable-tbaa=true' 
*** Deleting temp files: 
... 
ghc: could not execute: opt-3.0 

opt находится на моем пути, но версия 3,2, а не 3,0. Если это не пакет hlack llvm, который заставляет GHC искать правильную версию opt, что это такое?

ответ

5

Похоже, что существуют два соответствующих ghc-tracs для этого: one и two.

В последнем тракте пользователь упомянул опции «-pgmlo» и «-pgmlc», которые можно найти here.

Я смог исправить свою проблему, добавив «-pgmlo opt -pgmlc llc» в список параметров GHC.

В качестве альтернативы, вы можете редактировать /usr/lib/ghc/settings и убедитесь, что он имеет следующие строки:

("LLVM llc command", "llc"), 
("LLVM opt command", "opt") 

я все же хотел бы знать, почему GHC пытается найти неавтоматического 3,0 по умолчанию.

6

Просто хочу сообщить, что это все еще вещь. Инструкции для OSX:

> brew tap homebrew/dupes 
> brew install homebrew/versions/llvm34 

И держать псевдоним в мой .bashrc:

alias ghc-llvm="ghc -O2 -fllvm -pgmlo opt-3.4 -pgmlc llc-3.4" 

Убедитесь, что вы получите llvm34 и неllvm35. Я также обнаружил, что вы действительно хотите передать -O2 с LLVM. Без него очень медленно.

+0

Что вы на самом деле имеете в виду, добавляя что-то к своему .bashrc, и по какой версии OS X? –

+1

Узнайте, какую оболочку вы используете, запустив ps, затем прочитайте man-страницу для этой оболочки, чтобы узнать, какой сценарий запускается при запуске. Для большинства оболочка bash, и она запускает $ HOME/.bashrc и несколько других скриптов, которые вы можете использовать для настройки вашего опыта. –

+0

Спасибо. Насколько я знаю, это правильно, но моя фактическая проблема заключалась в следующем: https://stackoverflow.com/questions/24796874/cant-install-diagrams-arithmoi-on-mac –

Смежные вопросы