每当我尝试使用ghc --make编译可执行文件时,我在尝试执行程序时遇到以下错误,尽管编译时没有错误:
./main: error while loading shared libraries: libffi.so.4: cannot open shared object file: No such file or directory
(如果我将程序加载到ghci中,它可以正常工作)
这是一个过去工作的最小示例程序,但现在没有(我不知道为什么)
module Main(main)
where
main = do c <- getContents
putStr c
我在Ubuntu 11.10上使用GHC 7.0.3。帮助将不胜感激。
更新:从包管理器中删除并重新安装也没有解决它。我有libffi5和libffi6,如何让ghc使用其中一个而不是libffi4?
答案 0 :(得分:1)
我现在通过复制libffi.so.5并将副本重命名为libffi.so.4来修复它 - 有点肮脏的黑客攻击,但由于我现在不打算分发二进制文件,所以我并不介意只要它有效。虽然如果有人能够向我展示更好的解决方案,我仍然会更喜欢。