你如何在 Haskell 中安装分析库?
Posted
技术标签:
【中文标题】你如何在 Haskell 中安装分析库?【英文标题】:How do you install profiling libraries in Haskell? 【发布时间】:2021-10-25 23:08:18 【问题描述】:运行后
ghc --make -prof -fprof-auto -rtsopts encode.hs
我收到此错误:
Failed to load interface for ‘Data.Text’
Perhaps you haven't installed the profiling libraries for package ‘text-1.2.5.0’?
Use -v to see a list of the files searched for.
我试过了:
cabal install -p text --reinstall
这里建议:
https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/profiling.html
我的 ghc 版本是 8.0.2,所以也许我应该看看其他文档。
【问题讨论】:
您是否有理由直接调用ghc
而不是使用cabal
或stack
之类的工具来构建encode.hs
?如果没有,我很乐意写一个答案,描述如何使用cabal
完成此操作。
没有具体原因,只是我知道该怎么做
【参考方案1】:
一种方法是创建一个带有main-is
为encode.hs
的可执行文件的cabal
包。完成后,您将运行
cabal configure --enable-profiling --profiling-detail toplevel-functions
一次;随后的cabal build
命令和类似的命令应该做正确的事情。不过,值得注意的一件事是,在使用cabal
时,需要注意将 RTS 选项传递给正确的程序。配方如下:
cabal run exe:encode -- +RTS ... -RTS
出现在--
之前的任何+RTS
/-RTS
块都将转到cabal
;之后的人将进入您的计划。
【讨论】:
感谢您的回复。我只是不确定如何制作 cabal 包,所以我不知道如何尝试您的解决方案。 @Chebi 新建一个目录,把encode.hs
放进去,然后运行cabal init
。之后您可能需要将依赖项添加到 build-depends
节,但我认为它应该自动检测 encode.hs
并将其标记为可执行文件。以上是关于你如何在 Haskell 中安装分析库?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Haskell 平台中安装具有分析支持的 ghc 和 base
如何在 Ubuntu 中安装 libwebsocket 库?
如何在 .Net v 4 项目中安装 Dataflow 库?