2013-09-04 8 views
6

Próbuję zainstalować język Idris w OSX Lion przy użyciu instrukcji instalacji dostarczonej na official tutorial. Mam zainstalowaną GMP. Ten błąd pojawia się:Cabal nie może zainstalować języka Idris na 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 

Próbując zainstalować Idris bez LLVM produkuje ten błąd:

$ 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

Wygląda na to, że musisz zainstalować LLVM 3.3. Jeśli już go zainstalowałeś, upewnij się, że 'llvm-config' jest w PATH. –

+2

Alternatywnie, spróbuj 'cabal install idris -f-LLVM', aby zbudować Idris bez backendu LLVM. –

+0

@MikhailGlushenkov llvm-config działa. Nie jestem pewien, która wersja LLVM mam. 'caban install idris -f-LLVM' działa, ale teraz mam inny problem. – MaiaVictor

Odpowiedz

3

Pierwszy błąd wskazuje, należy zainstalować pakiety rozwojowe LLVM swojej dystrybucji (nie przez kabała) a drugi oznacza, że ​​powinieneś zainstalować pakiet programowania biblioteki GCC libffi. Jakiej dystrybucji Linuksa używasz? Czy jesteś w systemie Windows/Mac?

+2

Byłem na Macu. Aby uzupełnić odpowiedź: udało mi się rozwiązać oba problemy związane z zależnościami, pobierając je i kompilując je bezpośrednio według źródła - wygląda na to, że Homebrew pobierał starsze wersje. – MaiaVictor

5

Miałem ten sam problem na OS X Mavericks. Aby skompilować program Idris, użyłem homebrew do zainstalowania gmp, następnie musiałem zrobić "export PKG_CONFIG_PATH =/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig", a następnie 'cabal install idris -f-LLVM ". Dostałem cynk wyeksportować zmienną systemowe PKG_CONFIG_PATH z tej strony:

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

Mavericks już libffi zainstalowanej, a ja nie chciałem zainstalować drugą kopię ze źródła, które jest co trick systemowe PKG_CONFIG_PATH mi pomógł uniknąć. Zrób "brew info libffi", aby znaleźć właściwą ścieżkę do eksportu. Mam nadzieję, że ktoś szybko stworzy formułę homebrew dla Idris ...

+0

To nie jest prawda, zainstalowałeś drugą kopię libffi, a mianowicie do/usr/local/Cellar, po prostu nie jest ona połączona z '/ usr/lib /'. Używając 'PKG_CONFIG_PATH' mówisz procesowi make, aby używał' pkgconfig' z libffi, który wygeneruje flagi mówiące linkerowi/kompilatorowi, żeby zaglądał do/usr/local/Cellar/... – wires

Powiązane problemy