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.
?
Your comment

This issue is archived.

To comment on this conversation send an email to 32316@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 32316
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch