Build failure with installed guix that does not happen with pre-inst-env

  • Done
  • quality assurance status badge
Details
4 participants
  • Björn Höfling
  • Julien Lepiller
  • Konrad Hinsen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Konrad Hinsen
Severity
normal
K
K
Konrad Hinsen wrote on 30 Jul 2018 18:16
(address . bug-guix@gnu.org)
m1sh401yx5.fsf@fastmail.net
Dear Guix experts,

When updating my Guix installation after three weeks of absence, I
noticed a build failure:

$ guix pull –commit=de596e99549d7764f370ab2ed3b756f620b1f23d
$ guix build racket

guix package: error: racket-fix-xform-issue.patch: patch not found

However, that patch file is there:

$ ls -l .config/guix/latest/gnu/packages/patches/racket-fix-xform-issue.patch
-r--r--r-- 10 root root 2520 janv. 1 1970 .config/guix/latest/gnu/packages/patches/racket-fix-xform-issue.patch

Moreover, the same build works fine when I check out the same commit and
use pre-inst-env:

$ cd ~/Development/guix
$ guix environment guix
$ git pull
$ git checkout de596e99549d7764f370ab2ed3b756f620b1f23d
$ ./bootstrap
$ ./configure --localstatedir=/var
$ make
$ ./pre-inst-env guix build racket

I suspect that this is somehow caused by the new implementation of "guix
pull", but I don't know how I would go about debugging this, so I defer
to the experts.

Konrad.
B
B
Björn Höfling wrote on 30 Jul 2018 21:42
(name . Konrad Hinsen)(address . konrad.hinsen@fastmail.net)(address . 32316@debbugs.gnu.org)
20180730214222.4c08be42@alma-ubu
Hi Konrad,

thanks for the precise error report.

On Mon, 30 Jul 2018 18:16:54 +0200
Konrad Hinsen <konrad.hinsen@fastmail.net> wrote:

Toggle quote (8 lines)
> Dear Guix experts,
>
> When updating my Guix installation after three weeks of absence, I
> noticed a build failure:
>
> $ guix pull –commit=de596e99549d7764f370ab2ed3b756f620b1f23d
> $ guix build racket

Could it be the case that in your `guix build ...` you are not using
the guix you pulled?

What does `guix --version` say?

Where does `which guix` point to?

It should point to

~/.config/guix/current/bin/guix

I suspect you have an older version of Guix (i.e. "before the new
implementation") in your $PATH with a higher precedence (more to the
beginning of the $PATH variable). See what `echo $PATH` says. If that
is the case, adapt your path.

HTH,

Björn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAltfah8ACgkQvyhstlk+X/2VsACguL1gGWiFMdV8oEsMtFmH3bjJ
WS0AnjDaZBQnW/BAeO6y6sNL0qooaVmA
=Xm8Z
-----END PGP SIGNATURE-----


K
K
Konrad Hinsen wrote on 31 Jul 2018 11:42
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 32316@debbugs.gnu.org)
m1r2jjwxl5.fsf@fastmail.net
Hi Björn,

Toggle quote (2 lines)
> thanks for the precise error report.

Thanks for your quick reply!

Toggle quote (11 lines)
> Could it be the case that in your `guix build ...` you are not using
> the guix you pulled?
>
> What does `guix --version` say?
>
> Where does `which guix` point to?
>
> It should point to
>
> ~/.config/guix/current/bin/guix

It points to $HOME/.guix-profile/bin/guix, and since I have the package
"guix" installed in my profile, that looks OK to me. At the very least I
am used to it: guix has always been in my profile, and has always worked
well that way.

But I do see how this could cause various failures after a guix pull,
because the guix in my profile has to work with the updated stuff the
pull has placed under ~/.config. So perhaps the real mystery is that I
haven't had any trouble before. And I wonder what strategy to adopt to
avoid it - remove guix from my profile? There was a good reason to
install it last year, but I don't remember what it was. If installing
guix into a profile is not a good idea, perhaps the guix package should
disappear or be renamed to something that indicates its true purpose?

BTW, since I updated my profile with the pre-inst-env guix, I now also
have a new guix in my profile and the build failure has disappeared.

Konrad.
J
J
Julien Lepiller wrote on 31 Jul 2018 12:04
(address . 32316@debbugs.gnu.org)
20180731120413.35f65561@lepiller.eu
Le Tue, 31 Jul 2018 11:42:14 +0200,
Konrad Hinsen <konrad.hinsen@fastmail.net> a écrit :

Toggle quote (37 lines)
> Hi Björn,
>
> > thanks for the precise error report.
>
> Thanks for your quick reply!
>
> > Could it be the case that in your `guix build ...` you are not using
> > the guix you pulled?
> >
> > What does `guix --version` say?
> >
> > Where does `which guix` point to?
> >
> > It should point to
> >
> > ~/.config/guix/current/bin/guix
>
> It points to $HOME/.guix-profile/bin/guix, and since I have the
> package "guix" installed in my profile, that looks OK to me. At the
> very least I am used to it: guix has always been in my profile, and
> has always worked well that way.
>
> But I do see how this could cause various failures after a guix pull,
> because the guix in my profile has to work with the updated stuff the
> pull has placed under ~/.config. So perhaps the real mystery is that I
> haven't had any trouble before. And I wonder what strategy to adopt to
> avoid it - remove guix from my profile? There was a good reason to
> install it last year, but I don't remember what it was. If installing
> guix into a profile is not a good idea, perhaps the guix package
> should disappear or be renamed to something that indicates its true
> purpose?
>
> BTW, since I updated my profile with the pre-inst-env guix, I now also
> have a new guix in my profile and the build failure has disappeared.
>
> Konrad.

You're experiencing the change to the (not so) new guix pull. Now a
complete guix is installed in ~/.config/guix/current. The guix
installed in your profile doesn't look for packages in that directory,
but uses its own definitions. This has a side-effect: whenever you try
to update your profile, not only does your guix not use the newer guix,
but the only guix package it knows of is a least 1 commit *before* your
current guix, hence downgrading guix (and package definitions) at every
update.

Make sure you uninstall guix from your profile and add
~/.config/guix/current/bin to your PATH. Then you should be able to use
the freshly pulled guix.
L
L
Ludovic Courtès wrote on 21 Aug 2018 12:20
control message for bug #32316
(address . control@debbugs.gnu.org)
87r2isowb0.fsf@gnu.org
tags 32316 fixed
close 32316
K
K
Konrad Hinsen wrote on 22 Aug 2018 17:51
Thanks!
(address . 32316@debbugs.gnu.org)
m1k1ois8lx.fsf@fastmail.net
Hi Julien,

I missed your reply because it arrived while I was on vacation, so I was
made aware of it only by the message about the bug being closed.

Thanks for your clear explanation, I will uninstall guix from my
profile!

Konrad.
?