The Guile packages currently install all their binaries under their basic name only, e.g.
$ ls /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/bin /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/bin: guild guile guile-config guile-snarf guile-tools However, the Autoconf macro GUILE_PROGS (from guile.m4) looks first for a guile binary with a version number suffix (e.g. ‘guile-3.0’). If it finds one, then it looks *only* for a matching guild-X.Y and errors out if it can’t find that. This is a problem for building Guix itself from source in a non-pure ‘guix shell -D guix’ on top of a foreign distro that provides a ‘guile-3.0’ binary but not the other four programs: $ which guile || echo not found /gnu/store/1yg0gg12m2cj2lj08r3qx8yx6zir4a38-profile/bin/guile $ which guile-3.0 || echo not found /usr/bin/guile-3.0 $ which guild || echo not found /gnu/store/1yg0gg12m2cj2lj08r3qx8yx6zir4a38-profile/bin/guild $ which guild-3.0 || echo not found not found $ ./configure --localstatedir=/var ... checking pkg-config is at least version 0.9.0... yes configure: checking for guile 3.0 configure: found guile 3.0 checking for guile-3.0... /usr/bin/guile-3.0 checking for Guile version >= 3.0... 3.0.8 checking for guild-3.0... no checking for guile-config-3.0... no checking for guile-tools-3.0... no configure: error: 'guild' binary not found; please check your Guile installation. Thus, I suggest that all of the Guix guile packages should be modified to install ‘guile-X.Y’, ‘guild-X.Y’, etc. as well as the unsuffixed program names. I do not immediately see how to make this change in gnu/packages/guile.scm. zw