ghci - 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)
还有更多这样的。图书馆也是如此:
- libncursesw.so.5
- librt.so.1
- libutil.so.1
- libdl.so.2
- libpthread.so.0
- libgmp.so.10
- libc.so.6
尽管所有这些库都位于/lib
或者/usr/lib
它试图在内部 ghc 目录中找到它们。这是怎么回事?我可以修复它吗?
解决方案
推荐阅读
- php - Dropbox API:HTTP 状态 400 {“错误”:“v1_retired”}
- asp.net-core - 升级到 2.0 版后,Dotnet 测试任务失败并出现“MSB1008:只能指定一个项目”错误
- ruby - 是 Ruby 中的 singleton_variable_set 的等价物吗?
- django - django-filter:/goods/ __init__() 的 TypeError 得到了一个意外的关键字参数“名称”
- php - Doctrine Translatable:如果可翻译字段不存在,如何返回字段的默认值
- excel - 如何引用另一个关闭的工作簿中的单元格(使用 INDIRECT 函数)?
- ios - 跨数据重新加载保持自定义 UICollectionViewLayout 中视图的第一响应者状态
- php - 对 public_html 之外的文件使用绝对路径
- php - 将错误消息存储在一个数组中
- php - html文件和php文件中的html之间的页面看起来不同