2013-09-04 3 views
6

Я пытаюсь установить язык Idris в OSX Lion, используя руководство по установке, представленное на official tutorial. У меня есть alraedy, установленный GMP. Это ошибка, я получаю:Cabal не может установить язык Idris на OSX Lion

$ cabal install idris 
Resolving dependencies... 
Configuring libffi-0.1... 
cabal: The pkg-config package libffi is required but it could not be found. 
[1 of 1] Compiling Main    (/var/folders/f0/dlx6tl5x18z4k4_vq0fkqtb80000gn/T/llvm-general-3.3.5.0-61662/llvm-general-3.3.5.0/Setup.hs, /var/folders/f0/dlx6tl5x18z4k4_vq0fkqtb80000gn/T/llvm-general-3.3.5.0-61662/llvm-general-3.3.5.0/dist/setup/Main.o) 
Linking /var/folders/f0/dlx6tl5x18z4k4_vq0fkqtb80000gn/T/llvm-general-3.3.5.0-61662/llvm-general-3.3.5.0/dist/setup/setup ... 
setup: The program llvm-config version ==3.3.* is required but it could not be 
found. 
cabal: Error: some packages failed to install: 
idris-0.9.9 depends on llvm-general-3.3.5.0 which failed to install. 
libffi-0.1 failed during the configure step. The exception was: 
ExitFailure 1 
llvm-general-3.3.5.0 failed during the configure step. The exception was: 
ExitFailure 1 

Попытки установить Идрис без LLVM производит эту ошибку:

$ cabal install idris -f-LLVM 
Resolving dependencies... 
Configuring libffi-0.1... 
cabal: The pkg-config package libffi is required but it could not be found. 
cabal: Error: some packages failed to install: 
idris-0.9.9 depends on libffi-0.1 which failed to install. 
libffi-0.1 failed during the configure step. The exception was: 
ExitFailure 1 
+2

Похоже, вам нужно установить LLVM 3.3. Если вы уже установили его, убедитесь, что 'llvm-config' находится в PATH. –

+2

В качестве альтернативы попробуйте 'cabal install idris -f-LLVM' построить Idris без бэкэнда LLVM. –

+0

@MikhailGlushenkov llvm-config работает. Я не уверен, какую версию LLVM у меня есть. 'caban install idris -f-LLVM' работает, но теперь у меня другая проблема. – MaiaVictor

ответ

3

Первая ошибка означает, что вы должны установить пакеты разработки LLVM вашего дистрибутива (не через заговорщик) а второй указывает, что вы должны установить пакет разработки для библиотеки GCC libffi. Какой дистрибутив Linux вы используете? Или вы на Windows/Mac?

+2

Я был на Mac. В дополнение к ответу: мне удалось решить обе проблемы зависимости, загрузив и скомпилировав их напрямую из источника - похоже, что Homebrew загружал более старые версии. – MaiaVictor

5

У меня была такая же проблема на OSX Mavericks. Чтобы получить Idris для компиляции, я использовал homebrew для установки gmp, тогда мне пришлось делать «экспорт PKG_CONFIG_PATH =/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig», а затем «cabal install idris -f-LLVM ». Я получил наконечник экспортировать переменную PKG_CONFIG_PATH с этого сайта:

https://groups.google.com/d/msg/idris-lang/gxcdvRIA2OI/NqKSd4zHkI4J

Mavericks уже был libffi установлен, и я не хочу, чтобы установить вторую копию из источника, который является то, что PKG_CONFIG_PATH трюк помог мне избежать. Сделайте «brew info libffi», чтобы найти правильный путь для экспорта. Надеюсь, кто-то создаст формулу доморощенного Идриса в ближайшее время ...

+0

На самом деле это не так, вы установили вторую копию libffi, а именно в/usr/local/Cellar, она просто не связана с '/ usr/lib /'. Используя 'PKG_CONFIG_PATH', вы сообщаете процессу make использовать' pkgconfig' из libffi, который будет генерировать флаги, говорящие компоновщику/компилятору, чтобы посмотреть в/usr/local/Cellar/... – wires