Ricardo Wurmus <[email protected]> skribis: > On Fedora there is /usr/bin/guile2. When I want to configure Guix from > source I run “guix environment guix” and run “./configure”. This aborts > because the configure script finds the system’s /usr/bin/guile2 before > “guile” from the environment. > > Here’s the error: > > configure: checking for guile 2.2 > configure: found guile 2.2 > checking for guile-2.2... no > checking for guile2.2... no > checking for guile-2... no > checking for guile2... /usr/bin/guile2 > configure: error: found development files for Guile 2.2, but /usr/bin/guile2 > has effective version 2.0 > make: *** [Makefile:3071: config.status] Error 1
The code for this check is in the ‘GUILE_PROGS’ macro, defined in meta/guile.m4 in Guile. I think it makes sense for this macro to try version-specific program names first, and only then to fall back to “guile”. So I would suggest leaving this macro unchanged. That said, guile-2.2.pc and guile-2.0.pc both define ‘guile’ and ‘guild’. So ‘GUILE_PROGS’ should probably use these when pkg-config is being used, instead of trying to guess from $PATH. Thoughts? > To make this work I need to move /usr/bin/guile2 away or make it > otherwise unaccessible (e.g. with “guix environment --container guix”). > > Is there something we can do about this to ensure that “guix environment > guix” is sufficient to build Guix from source on Fedora? We could encourage people to use --pure or -C. Ludo’.
