Hello guys, I have been using org mode for a while now. It is absolutely fantastic. I used to use obsidian for 3 years and now i want to try org-roam.
But unfortunately i get this error
(i am using doom emacs with emacs 28.2 on debain 12
I have gcc 12.2.0)
Warning (initialization): An error occurred while booting Doom Emacs:
Error caused by user's config or system: doom/config.el, (error No EmacSQL SQLite binary available: (Opening input file No such file or directory /home/shayan/.config/emacs/.local/straight/build-28.2/emacsql/sqlite/Makefile))
The easier option would be to upgrade your Emacs to 29.4, which Doom seems to also recommend to use. Version 29 comes with sqlite compiled in Emacs (by default) so you should not see this “No EmacSQL SQLite binary” error.
If you prefer to stay in 28, find this Makefile from repo and put it in the specified location:
I do not know if this will solve your problem or why this happens. If you want/need to know why, I suggest you ask in the emacsql project repo or Doom community.
Thank you very much for answer.
I actually solved this problem this morning
It’s weird situation. First off, as you might know doom emacs uses or it in its words “pins” a specific version or commit of org-roam and emacsql. In that very specific commit There’s no c code to be compile (I think, Because They were removing the dependence of the custom sqlite executable which now is how emacsql work in older emacs versions that doesn’t have the built in sqlite executable). So I search for latest release with c codes.
(package! emacsql :pin "b84102f")
With adding this line to package.el , You tell doom emacs to use that specific commit that does have the c code. So it builds it and org-roam (and org-roam-ui) just works fine.
It was a bit tricky to troubleshoot (It took me a week).
I have this line in my package.el as well (It is recommend in the org-roam manual for doom emacs installation). This tells doom emacs to use the latest version for org-roam. I actually tested it for emacsql too but it didn’t work. i guess it was because of the conflict that is between the newer version of emacsql and the org-roam
(unpin! org-roam)
PS 1: Sorry, It became too long but i wrote that it can be helpful to others. Thank you for this amazing community!
PS 2: I actually tried coping the makefile but the problem was that, again, there was no c code.
Good to know the detail and that you solved the problem . With all the problem you describe, I think it would be easier to upgrade Emacs to 29.4, which I believe you would not have needed the c code…