在 OSx 上要求对 运行 ghci 进行 sudo

Requiring sudo to run ghci on OSx

我已经在 OSX (Yosemite) 上安装了 Haskell 平台。

当我尝试执行 ghci 时,出现以下错误:

GHCi, version 7.8.4: http://www.haskell.org/ghc/  :? for help

Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... <command line>: can't load .so/.DLL for: libiconv.dylib (dlopen(libiconv.dylib, 9): image not found)

如果我使用 sudo (sudo ghci) 执行,它运行正常。 cabal 也会出现同样的行为。

我尝试使用默认安装程序、自制软件和 Yann Esposito (http://yannesposito.com/Scratch/en/blog/Safer-Haskell-Install/) 提供的脚本进行安装,但未更改此行为。我错过了什么吗?

终于,我找到了答案:

问题出在我的 DYLD_FALLBACK_LIBRARY_PATH 上。该值被定义到我的 POSTGRESQL bin 文件夹的目录中。因此,我附加了 dyld (man dyld) 的手册页所指出的推荐值,重新加载了我的 .bash_profile,现在我的 ghci、cabal 和 ghc 运行顺利。

推荐值为: "$HOME/lib:/usr/local/lib:/lib:/usr/lib"