2015-09-07 5 views
2

Я пытаюсь запустить проект, который использует conduit и conduit-extra. Это главный модуль:Cabal repl не запускается, «невозможно загрузить .so/.DLL для: ...»

import Data.Conduit 

main = do 
    putStrLn "Done" 

Интрига файл требует базы, трубопровод и трубопровод-EXTRA:

... 

build-depends:  base >=4.8 && <4.9, 
        conduit >=1.2.5 && <1.3, 
        conduit-extra >= 1.1.9.1 && <1.2 
... 

Но когда я бегу cabal repl, это происходит:

Johns-iMac:The-Project john$ cabal repl 
Preprocessing executable 'The-Project' for The-Project-0.1.0.0... 
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help 
<command line>: can't load .so/.DLL for: /Library/Haskell/ghc-7.10.2-x86_64/lib/exceptions-0.8.0.2/libHSexceptions-0.8.0.2-8GsEeHgaIks3pVGk6GaELJ-ghc7.10.2.dylib (dlopen(/Library/Haskell/ghc-7.10.2-x86_64/lib/exceptions-0.8.0.2/libHSexceptions-0.8.0.2-8GsEeHgaIks3pVGk6GaELJ-ghc7.10.2.dylib, 5): Library not loaded: @rpath/libHStransformers-compat-0.4.0.4-DCQioW2d4vYEa3T0AmFBPv-ghc7.10.2.dylib 
    Referenced from: /Library/Haskell/ghc-7.10.2-x86_64/lib/exceptions-0.8.0.2/libHSexceptions-0.8.0.2-8GsEeHgaIks3pVGk6GaELJ-ghc7.10.2.dylib 
    Reason: image not found) 

Я просто полностью переустановил платформу Haskell, и все это изолировано, поэтому проблем с конкурирующими зависимостями не должно быть.

Что происходит, и как его исправить?

UPDATE:

Я удалил песочницу (cabal.sandbox.config, .cabal-песочница), и заново зависимости:

cabal sandbox init 
cabal install --only-dependencies 
cabal repl 

Теперь у нас есть новая, но очень похожая ошибка :

Johns-iMac:The-Project john$ cabal repl 
Preprocessing executable 'The-Project' for The-Project-0.1.0.0... 
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help 
<command line>: can't load .so/.DLL for: /Library/Haskell/ghc-7.10.2-x86_64/lib/hashable-1.2.3.3/libHShashable-1.2.3.3-2GTZqecVp8NJZrNuKzGxfy-ghc7.10.2.dylib (dlopen(/Library/Haskell/ghc-7.10.2-x86_64/lib/hashable-1.2.3.3/libHShashable-1.2.3.3-2GTZqecVp8NJZrNuKzGxfy-ghc7.10.2.dylib, 5): Library not loaded: @rpath/libHStext-1.2.1.3-1l1AN4I48k37RaQ6fm6CEh-ghc7.10.2.dylib 
    Referenced from: /Library/Haskell/ghc-7.10.2-x86_64/lib/hashable-1.2.3.3/libHShashable-1.2.3.3-2GTZqecVp8NJZrNuKzGxfy-ghc7.10.2.dylib 
    Reason: image not found) 
+1

Одна вещь, которая может привести к появлению кабала, - это если вы не можете перечислить один из ваших модулей в файле cabal. Это вряд ли будет проблемой здесь, но я подумал, что упомянул об этом. 'cabal clean' иногда полезен, но похоже, что вы уже пробовали более экстремальные меры. Другой довольно экстремальный - это запуск вашего каталога '.ghc'. – dfeuer

+0

@dfeuer Я сделал это около часа назад с переустановкой haskell – TheEnvironmentalist

+0

@dfeuer - я могу надежно создать ошибку «не могу загрузить .so/.DLL», когда зависимость не сможет перечислить модуль в файле cabal] (https://github.com/rampion/cabal-linking-bug), это то, о чем вы говорите? И знаете ли вы, что в нем уже есть отчет об ошибке? – rampion

ответ

1

Учитывая, что данный отчет относится к проблеме загрузки hashable и the Github report относится к загрузке проблемы исключения, оба из которых являются пакетами, предоставляемыми платформой, а не GHC, у меня есть ощущение, что проблема связана с установщиком платформы. Можете ли вы попробовать еще раз с GHC for Mac OS X или stack и посмотреть, устраняет ли проблема?

Обратите внимание, что если вы идете по маршруту стека, вы хотите запустить stack init && stack build --install-ghc && stack ghci в своем проекте. В любом случае: вы, вероятно, будете более безопасны, если сначала полностью удалите платформу.

+0

Я полностью удалил установку платформы, переустановил ее, новую папку, новую песочницу, вновь переустановленные зависимости, ту же проблему – TheEnvironmentalist

+0

Справа. Поэтому я говорю, что проблема может быть платформой и рекомендуется установить что-то еще. Я связан с двумя альтернативными методами установки –