Я пытаюсь запустить проект, который использует 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)
Одна вещь, которая может привести к появлению кабала, - это если вы не можете перечислить один из ваших модулей в файле cabal. Это вряд ли будет проблемой здесь, но я подумал, что упомянул об этом. 'cabal clean' иногда полезен, но похоже, что вы уже пробовали более экстремальные меры. Другой довольно экстремальный - это запуск вашего каталога '.ghc'. – dfeuer
@dfeuer Я сделал это около часа назад с переустановкой haskell – TheEnvironmentalist
@dfeuer - я могу надежно создать ошибку «не могу загрузить .so/.DLL», когда зависимость не сможет перечислить модуль в файле cabal] (https://github.com/rampion/cabal-linking-bug), это то, о чем вы говорите? И знаете ли вы, что в нем уже есть отчет об ошибке? – rampion