#6 Build instructions give error on Debian

Open
opened 6 years ago by jhidding · 7 comments
jhidding commented 6 years ago

Hi, Trying to follow the build instructions on Debian. This gives the following error:

johannes@ESLT0041:~/.local/src/guile-sqlite3$ make
  GEN      sqlite3.go
./env: 15: exec: compile: not found
Makefile:1071: recipe for target 'sqlite3.go' failed
make: *** [sqlite3.go] Error 127

Cheers!

Hi, Trying to follow the build instructions on Debian. This gives the following error: ``` johannes@ESLT0041:~/.local/src/guile-sqlite3$ make GEN sqlite3.go ./env: 15: exec: compile: not found Makefile:1071: recipe for target 'sqlite3.go' failed make: *** [sqlite3.go] Error 127 ``` Cheers!
civodul commented 6 years ago
Owner

Hello,

It looks like the guild program (part of Guile) was not found. What does grep -i guild config.log report?

Thanks for your report, Ludo'.

Hello, It looks like the `guild` program (part of Guile) was not found. What does `grep -i guild config.log` report? Thanks for your report, Ludo'.
samplet commented 5 years ago

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.

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

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
samplet commented 5 years ago

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], [],
    [AC_MSG_ERROR(m4_normalize([
      '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).

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], [], [AC_MSG_ERROR(m4_normalize([ '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).
vagrant commented 5 years ago

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!

Huge thanks!

https://salsa.debian.org/vagrant/guile-sqlite3/blob/debian/master/debian/patches/find-unversioned-guild

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! Huge thanks! https://salsa.debian.org/vagrant/guile-sqlite3/blob/debian/master/debian/patches/find-unversioned-guild

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:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926182

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: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926182
vagrant commented 5 years ago

Should be fixed in guile-2.2.4+1-2 just uploaded to debian unstable:

https://tracker.debian.org/news/1040703/accepted-guile-22-2241-2-source-amd64-all-into-unstable/

Should be fixed in guile-2.2.4+1-2 just uploaded to debian unstable: https://tracker.debian.org/news/1040703/accepted-guile-22-2241-2-source-amd64-all-into-unstable/
Sign in to join this conversation.
No Label
No Milestone
No assignee
5 Participants
Loading...
Cancel
Save
There is no content yet.