raco:docs failure query-exec:无法打开数据库文件

时间:2018-01-28 16:06:21

标签: racket upgrade

系统更新(Arch Linux)后,再找不到一些软件包(megaparsack)。我用raco pkg install megaparsack安装了它,但在安装过程中得到了这条消息:

raco setup: docs failure: query-exec: unable to open the database file
  error code: 14
  SQL: "ATTACH $1 AS other"
  database: #<path:/home/ploppz/.racket/6.12/doc/docindex.sqlite>
  mode: 'read-only
  file permissions: (write read)

为什么呢?我应该使用sudo吗? 尽管失败了,使用megaparsack的代码现在运行良好。

1 个答案:

答案 0 :(得分:2)

此问题是由于系统范围文档目录中缺少docindex.sqlite而引起的。您可以通过(require setup/dirs) (find-user-doc-dir)检查该目录。在Archlinux上,这是/usr/share/doc/racket/。如果丢失,则可能需要安装另一个软件包。 编辑:Archlinux在7.1-1中进行了修复-请参见this Archlinux错误报告。

没有上述文件,raco pkg install <pkgname>将无法最终确定文档安装到您的用户范围,但是否则这些软件包应该可以使用。

我以略有不同的方式遇到了这个问题-在Gentoo上/usr/share/doc默认是压缩的,并且dev-scheme/racket软件包是用docindex.sqlite.bz2安装的,而代码仍在寻找原始的路径(而sqlite3可能无法读取bzip2文件)。 编辑:我已经在官方搬运工具中修复了此问题。