all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kai Mertens <kmx@posteo.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 38226@debbugs.gnu.org
Subject: bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error:
Date: Wed, 20 Nov 2019 15:21:27 +0100	[thread overview]
Message-ID: <20191120152127.561dbc3f.kmx@posteo.net> (raw)
In-Reply-To: <87eey6jjds.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 7660 bytes --]

On Sun, 17 Nov 2019 22:14:07 +0100
Ludovic Courtès <ludo@gnu.org> wrote:

> > The command “sudo -i guix --version” gives me:
> >   guix (GNU Guix) 20170703.13  
> 
> This version predates the big ‘guix pull’ overhaul in 0.15.0 (what
> basically makes this kind of problem much less likely to happen.)
> 
> Thus, you need a more recent ‘guix’ to upgrade.
> 
> One way to do that is to fetch the derivation that builds a recent Guix
> and to build it.
> 
> Here’s a trick to do that (for commit 57c7bfec6, on x86_64-linux):
> 
> --8<---------------cut here---------------start------------->8---
> $ guile -c '(use-modules (guix)) (with-store s (build-things s (list "/gnu/store/ihylk84symj8mjhp3zmy83ch2h2pl0ks-guix-57c7bfec6.drv")))'
> $ guix build "/gnu/store/ihylk84symj8mjhp3zmy83ch2h2pl0ks-guix-57c7bfec6.drv"
> $ /gnu/store/4zmf32hjrjjjl2xp91aldxhmsmk6ff29-guix-57c7bfec6/bin/guix pull
> --8<---------------cut here---------------end--------------->8---
> 
> Let me know how it goes!

Puh, in respect to the sequencing mails I have to admit that it is hard
to me to follow the discussion. So please let me ask something else in
between: Can I make use of an existing guix derivation file or guix
binary, available in /gnu/store?

In example (on i686):

The root account has this very old guix version:
  v0.13.0-443-gde9d8f0e29

Whereas, my user account has a more up-to-date version:
  bootstrap-20190815-3564-g7696af421b
and its Generation 1 refers to:
  v0.16.0

In /gnu/store/, I have several guix derivations available:
$ ll *-guix-0.13.0-2.???????.drv
-r--r--r-- 2 root root 4,5K Jan  1  1970 6r87sglvwbmqcz2zhzgvag7aakk1shc3-guix-0.13.0-2.de9d8f0.drv
-r--r--r-- 2 root root 1,1K Jan  1  1970 c24j1glzsgzklkjmv2ik7vcsyasc6yg2-guix-0.13.0-2.de9d8f0.drv
-r--r--r-- 2 root root 2,7K Jan  1  1970 cav8ip7bazglbhagd7afbyw9aah94q3m-guix-0.13.0-2.de9d8f0.drv
-r--r--r-- 2 root root 4,5K Jan  1  1970 p5m5qhkab5rxki8fmn89wgmnvchf1p1l-guix-0.13.0-2.de9d8f0.drv

and

$ ll *-guix-?????????.drv
-r--r--r-- 2 root root 1,2K Jan  1  1970 0ypa7ga44mprjp2cfyk5iwlg07jqq2m4-guix-b8f0a3fdc.drv
-r--r--r-- 2 root root 1,3K Jan  1  1970 3b4kw7sfm03092cc0sxh91w2v26jvq4n-guix-4a0b87f0e.drv
-r--r--r-- 2 root root 1,2K Jan  1  1970 bl41dqirc8j6mza8f01xac1f8pd5fbh3-guix-d8048dbe5.drv
-r--r--r-- 2 root root 1,2K Jan  1  1970 iq424kad8wj3ws0g59nwdkccrk34k76g-guix-c72c10053.drv
-r--r--r-- 2 root root 1,2K Jan  1  1970 r2hww1x08y9gz9a9fb94w1b0d3rjv9d5-guix-7696af421.drv

...which can be sorted by age if I use “git describe” to get a human
readable string:

~~~

$ git describe 7696af421
bootstrap-20190815-3564-g7696af421b
$ git describe d8048dbe5
bootstrap-20190815-3491-gd8048dbe50
$ git describe b8f0a3fdc
bootstrap-20190815-3368-gb8f0a3fdc8
$ git describe c72c10053
v1.0.0-696-gc72c10053d
$ git describe 4a0b87f0e
v0.16.0
$ git describe de9d8f0
v0.13.0-443-gde9d8f0e29

~~~

If I pick the oldest commit beyond 0.15, I try an already built binary.
That seems to work, although I receive a bunch of warnings (not shown here):

~~~

# /gnu/store/b0br0mhjxcy7bzg0c2pij1vf48jf9ddj-guix-4a0b87f0e/bin/guix pull -c0
guile: warning: failed to install locale
hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and defining `GUIX_LOCPATH', along these lines:

     guix package -i glibc-utf8-locales
     export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.


Migrating profile generations to '/var/guix/profiles/per-user/root'...
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
  guix      https://git.savannah.gnu.org/git/guix.git	900ef20
substitute: updating list of substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://ci.guix.gnu.org'... 100.0%

[...]

building /gnu/store/3yk3qh02vx8zm7pd9d3x7gicikfbpybr-profile.drv...
successfully built /gnu/store/3yk3qh02vx8zm7pd9d3x7gicikfbpybr-profile.drv
1 package in profile

# guix pull -l
guile: warning: failed to install locale
Generation 1	Nov 18 2019 22:45:38	(current)
  guix 900ef20
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 900ef20b1da66ad71145082c883dc12f31fafa54

# guix package -I
guile: warning: failed to install locale
glibc-utf8-locales	2.25	out	/gnu/store/9vv6szr949m8mrqfyj7bfkxi8g5mfr2y-glibc-utf8-locales-2.25
guix	0.13.0-2.de9d8f0	out	/gnu/store/34541bys6lh3wjwjn81b9bxjb93q83qx-guix-0.13.0-2.de9d8f0
glibc	2.25	out	/gnu/store/2bw8y2k8fi9n6yl43ks0m62z919kgrfv-glibc-2.25

~~~

If I understand correctly, I have just updated my root’s guix and I
carefully update packages glibc and glibc-utf8-locales in order to
satisfy guile and make the warning disappear:

~~~

# guix package -c0 -u glibc-utf8-locales -u glibc
guile: warning: failed to install locale
The following packages will be upgraded:
   glibc-utf8-locales	2.25 → 2.29	/gnu/store/lhcmsprr3jz8cp0wg27ql59fv1k6hrkl-glibc-utf8-locales-2.29
   glibc	2.25 → 2.29	/gnu/store/df1lrb4b1dmw99b764qdk7akv0hpyjiw-glibc-2.29

[...]

3 packages in profile

# guix package -I
guix	0.13.0-2.de9d8f0	out	/gnu/store/34541bys6lh3wjwjn81b9bxjb93q83qx-guix-0.13.0-2.de9d8f0
glibc-utf8-locales	2.29	out	/gnu/store/lhcmsprr3jz8cp0wg27ql59fv1k6hrkl-glibc-utf8-locales-2.29
glibc	2.29	out	/gnu/store/df1lrb4b1dmw99b764qdk7akv0hpyjiw-glibc-2.29

~~~

Now I remember that I have to restart the daemon and reboot the
machine. Playing around with “pull” and “package -u” again brings me to
the situation where I am now:

~~~

# guix pull -l
Generation 1	Nov 18 2019 22:45:38
  guix 900ef20
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 900ef20b1da66ad71145082c883dc12f31fafa54
Generation 2	Nov 19 2019 00:11:25
  guix e26867f
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: e26867f74b629c4a981e45332ce94637cf4230eb
  1 package upgraded: tome4@1.6.1
Generation 3	Nov 20 2019 13:33:09	(current)
  guix 30ebff6
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 30ebff69a75fe90a1694ef35cf6e749ec376b67e
  7 new packages: carla, emacs-ample-theme, font-dseg, minisat, python-intelhex, python-mcuboot-imgtool, python-next
  4 packages upgraded: brlaser@6, cmark@0.29.0, mcron@1.1.3, uefitool@0.26.0

# guix package -I
glibc-utf8-locales	2.29	out	/gnu/store/lhcmsprr3jz8cp0wg27ql59fv1k6hrkl-glibc-utf8-locales-2.29
guix	1.0.1-10.41b4b71	out	/gnu/store/4djl9bnl0p62jmfidk5vc2sjchx5m2h7-guix-1.0.1-10.41b4b71
glibc	2.29	out	/gnu/store/df1lrb4b1dmw99b764qdk7akv0hpyjiw-glibc-2.29

~~~

I guess I am back on track now, would you agree?
Or does my procedure contain any mistakes?

I wonder why guix did not use local guix derivations or binaries that
were already available in the store. Maybe a now-a-days version of guix
would do?

I further wonder why the guix package itself is still listed, as with a
fresh, recent installation of guix on top of a foreign distro, guix
itself is not listed with “guix package -l”.


best regards
Kai


-- 
Kai Mertens <kmx@posteo.net>
OpenPGP Key-ID: 0x40B15AB4B05B5BF1 on keys.gnupg.net
Key fingerprint = 7C83 0A80 01FF 679C 6E8E  AFD3 40B1 5AB4 B05B 5BF1
What is that? Please check: https://emailselfdefense.fsf.org/en/


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2019-11-20 14:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-16  2:26 bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: Kai Mertens
2019-11-17 21:14 ` Ludovic Courtès
2019-11-18 11:15   ` Kai Mertens
2019-11-18 12:23     ` zimoun
2019-11-18 20:19     ` Ludovic Courtès
2019-11-18 12:08   ` zimoun
2019-11-18 16:22     ` Ludovic Courtès
2019-11-18 16:44       ` zimoun
2019-11-18 20:10         ` Ludovic Courtès
2019-11-19 11:49           ` zimoun
2019-11-20 14:15             ` Ludovic Courtès
2019-11-20 14:21   ` Kai Mertens [this message]
2020-02-18 13:27     ` zimoun
2020-05-22  0:22 ` bug#38226: guix pull: error: build failed: zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191120152127.561dbc3f.kmx@posteo.net \
    --to=kmx@posteo.net \
    --cc=38226@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.