【发布时间】:2015-09-07 19:09:00
【问题描述】:
我正在尝试运行一个使用conduit 和conduit-extra 的项目。这是主要模块:
import Data.Conduit
main = do
putStrLn "Done"
cabal 文件需要base、conduit 和conduit-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 平台,而且它都是沙盒的,所以竞争依赖项应该没有任何问题。
发生了什么,我该如何解决?
更新:
我删除了沙箱(cabal.sandbox.config、.cabal-sandbox),并重新安装了依赖项:
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 蓬勃发展。这看起来不太可能是这里的问题,但我想我还是会提到它。
cabal clean有时会有所帮助,但听起来您已经尝试过更极端的措施。另一个相当极端的方法是对您的.ghc目录进行核对。 -
@dfeuer 我在一小时前重新安装了haskell
-
@dfeuer - 我can reliably produce a "can't load .so/.DLL" error when a dependency fails to list a module in the cabal file,你说的是这个吗?你知道它是否已经有错误报告了吗?
标签: haskell dll sandbox cabal conduit