3

当我在我的 archlinux 机器上安装 lambdabot 时,当我想访问函数的源代码时出现以下错误

'sourcePlugin' failed with: state not initialized

看来我不是唯一一个遇到这个问题的人-> https://wiki.debian.org/Haskell/CollabMaint/Lambdabot

知道如何解决这个问题吗?

4

2 回答 2

1

我通过首先执行手动安装 lambdabot git clone git://github.com/int-e/lambdabot.git。获取包后,它将为您提供构建所需的 、 和各种其他包lambdabotlambdabot-core我强烈建议您对目录进行沙箱处理,并与所有必要的包共享沙箱。手动构建该版本(在#haskell 中使用),让所有相关的插件为我工作。如果我尝试通过 自动安装cabal install lambdabot,我能够重现您的问题。如果在手动安装程序后,您发现您的 sourcePlugin 仍然无法正常运行,请检查$HOME/.lambdabot/State/并查找该source文件。如果它不存在,请将其从您的沙盒库转移到此目录(对我来说是$HOME/pathToMySandbox/lambdabot/share/i386-linux-ghc-7.6.3/lambdabot-5.0/State. 这应该适合您。

更新:如果此解决方案导致您无法正常工作,请参阅我在 https://github.com/mokus0/lambdabot/issues/74 上发布的更新@run解决方案>

于 2014-01-15T21:59:11.320 回答
0

使用lambdabot fork并应用http://adit.kasinoda.org/2014/06/28/lambdabot.html中的修复程序对我有用。我已经在沙箱中安装了 lambdabot 并且命令@src@run>工作正常。

编辑:网页中相关的修复是:

  1. Djinn没有链接,因为 cabal 项目指定了错误的-Wl选项。此存储库包含更正。
  2. 在lambdabot/lambdabot/lambdabot.cabal中添加lambdabot-trusted作为lambdabot的依赖项,并在lambdabot/lambdabot-haskell-plugins/src/Lambdabot/Config/Haskell.hs列表中添加条目。"lambdabot-trusted"trustedPkgs
  3. lambdabot/labmdabot/State/Pristine.hs中添加 CPP 扩展 ( {-# LANGUAGE CPP #-}) 并约束 (GHC<7.8.2) 的导入:Control.Monad.instances
  4. lambdabot/labmdabot/State/L.hs中复制lambdabot/labmdabot/State/Pristine.hs
  5. 使用 cabal 安装 lambdabot
  6. 安装完成后,复制~/.lambdabot/State目录下的sandbox-dir/share/amd64-openbsd-ghc-7.6.3/lambdabot-5.0/ State的内容

谢谢博士

于 2014-08-11T19:04:11.157 回答