Ploppz
Ploppz

Reputation: 144

raco: docs failure query-exec: unable to open the database file

After a system update (Arch Linux), some package was not found anymore (megaparsack). I installed it with raco pkg install megaparsack but got this message during installation:

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)

Why? Should I have used sudo? Despite this failure, code that uses megaparsack now runs fine.

Upvotes: 4

Views: 436

Answers (1)

Winny
Winny

Reputation: 1278

This issue is caused by docindex.sqlite missing from your system-scope documentation directory. You can check what directory this is via: (require setup/dirs) (find-user-doc-dir). On Archlinux this is /usr/share/doc/racket/. If it's missing, chances are you need to install another package. edit: Archlinux fixed this in 7.1-1 - see this Archlinux bug report.

Without the aforementioned file, raco pkg install <pkgname> will not be able to finalize the installation of documentation to your user-scope, but the packages should be usable otherwise.

I encountered this issue in a slightly different manner - on Gentoo /usr/share/doc is compressed by default, and the dev-scheme/racket package was installed with a docindex.sqlite.bz2 while the code still looks for the original path (and sqlite3 probably cannot read bzip2 files). edit: I got this fixed in official portage.

Upvotes: 1

Related Questions