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’.



Reply via email to