首页 > 解决方案 > ghci第一次加载很慢

问题描述

操作系统:Linux Slackware 14.2。ghci 8.4.3。

第一次启动 ghci 大约需要 10 秒。之后,它开始迅速。我认为它会尝试加载一些库。

$ strace ghci

给出一个有趣的输出:

open("/usr/lib/ghc-8.4.3/bin/../haskeline-0.7.4.2/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../stm-2.4.5.0/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../ghc-8.4.3/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../terminfo-0.4.1.1/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../ghci-8.4.3/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../ghc-boot-8.4.3/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../transformers-0.5.5.0/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../hpc-0.6.0.3/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/ghc-8.4.3/bin/../template-haskell-2.13.0.0/libffi.so.7", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

还有更多这样的。图书馆也是如此:

尽管所有这些库都位于/lib或者/usr/lib它试图在内部 ghc 目录中找到它们。这是怎么回事?我可以修复它吗?

标签: ghci

解决方案


推荐阅读