Emacs 29 and org-roam-database-connector set to 'sqlite-builtin, but "emacs-sqlite-common" does not exist

Hi all. I’m using emacs 29.0.60 on Fedora and I was trying to setup org roam. I did (setq org-roam-database-connector 'sqlite-builtin) but whenever I call org-roam-db-autosync-mode or org-roam-find-node it tells me that the emacsql-sqlite-common file/directory does not exist.

I installed emacsql, emacsql-sqlite, emacsql-sqlite-module and emacsql-sqlite-builtin.

What could be the cause? Thanks in advance

Perhaps your machine is really missing emacs-sqlite-common library – you should be able to check its existence via find-library. My Emacs on Ubuntu has it.

It’s new – added 3 weeks ago. Perhaps Fedora has its own package manager for Emacs, which may not be up-to-date somehow?

If you use the built-in package.el to install Emacs packages, I think you can just update emacsql, emacsql-sqlite and friends. If this does not work, I’d delete the installation and re-install all the emacsql packages.

Other than this, I would not have any idea…

find-library does not find emacsql-sqlite-common.

I tried reinstalling all the packages in emacs but the outcome is the same. I do not have to update emacsql. I can’t delete emacsql-sqlite as it is a dependency of org-roam.

I’m using package.el. The version of emacsql and emacsql-sqlite is 3.1.1.

Writing the message above made me realize that i had emacsql and emacsql-sqlite installed with MELPA stable instead of MELPA. Removing it (or setting lower priority) made it work.

2 Likes