Trying to follow the build instructions on Debian. This gives the following error:
./env: 15: exec: compile: not found
Makefile:1071: recipe for target 'sqlite3.go' failed
make: *** [sqlite3.go] Error 127
It looks like the guild program (part of Guile) was not found. What does grep -i guild config.log report?
grep -i guild config.log
Thanks for your report,
I ran into this issue trying to build another Guile library on Debian. It seems that Guile's M4 macros expect the guild binary to have the same suffix as the guile binary. On Debian, Guile is called guile-2.0 but Guild is just called guild. This prevents GUILE_PROGS from finding guild and results in the GUILD and GUILE_TOOLS variables being left unset.
In my case, I fudged it by making a symlink for guild-2.0.
I guess either Debian needs to rename or symlink the binaries, or Guile's macros have to get cleverer.
Ran into this on Ubuntu-18.04. The problem is that there is an inconsistency between the way Ubuntu (and I guess Debian) defines the guile autoconf macros, and the way they packaged the guile tools. It's an open issue in the Ubuntu bug tracker (citation needed).
My (awkward) workaround: every time I run configure, I then edit Makefile to define GUILE_TOOLS = guild
I wanted to deploy some Guile code to a Debian Stretch machine recently, and learned that pkg-config knows where guild is. Here's an Autoconf snippet that will find guild without having to manually set variables:
AC_ARG_VAR([GUILD], [guild (Guile compiler) command])
AS_IF([test "x$GUILD" = "x"],
[PKG_CHECK_VAR([GUILD], [guile-$GUILE_EFFECTIVE_VERSION], [guild], ,
'guild' binary not found; please check your Guile installation.]))])])
The AC_ARG_VAR at the top is used to set a better help message for the GUILD variable (the PKG_CHECK_VAR macro doesn't do a good job on its own).
That was tremendously useful!
For the last too many hours I've been packaging the build-depends for guix and several guile-* are impacted by exactly this issue, and the workaround works for all of them!
I said earlier this is in the Ubuntu bug tracker. In fact I can't find it there, but I did find it in the Debian tracker:
Should be fixed in guile-2.2.4+1-2 just uploaded to debian unstable: