Hello Guilers, I am using a recent version of the autoconf macros from guile.m4 and I am having issues with the GUILE_PROGS macro to find the correct guile and guile cli tools. The issue essentially involves how various GNU/Linux distros install GNU Guile.
So on Fedora 26, I have guile 2.2 installed by GNU Guix and guile 2.0 installed by Fedora's package manager. Fedora installs GNU Guile as guile as well as a symlink named guile2. guile-tools is installed as guile-tools and a symlink named guile2-tools, guile-config is just installed as guile-config, and finally guild is just installed as guild. Now GNU Guile 2.2 is installed as guile by GNU Guix. Now when I just use GUILE_PROGS with no argument, it tries to find guile 2.2 and thus goes on by checking guile-2.2, guile2.2, guile-2, then it finally reaches guile2, but that is of course guile 2.0 from Fedora and it fails the minimum version check. Now if I put a minimum version for this macro GUILE_PROGS([2.0.14]) It will then proceed to check guile-2.0.14, it will go through the checks and reach guile2, which passes the version check and then go on to check for guild2, guile-config2, and guile-tools2 which do not exist. The configure script still finishes but now those variables are not set and might produce an error later in the build process if you need to use these tools. Now on Ubuntu 17.04, I only have guile 2.0 installed by Ubuntu's package manager. So it is similar to Fedora, except it only provides a symlink for guile as guile-2.0. It is basically the same issue as putting the minimum version on Fedora, it will not find guild, guile-config, or guile-tools. I guess one of the real issues is how distros package GNU Guile, they should provide symlinks to all of the guile cli tools (probably also fix GUILE_PROGS to find naming like Fedora's guile2-tools?). For my own builds, I can just use GNU Guix's pure environments to just use guile 2.2 or 2.0, but this can be an issue for users wanting to build and install guile programs that use this macro. Another option is to go with a slightly older version of guile.m4 which didn't have this issue. Not really sure what is the best way to handle this, any ideas? - Erik (OrangeShark)