* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: @ 2019-11-16 2:26 Kai Mertens 2019-11-17 21:14 ` Ludovic Courtès 2020-05-22 0:22 ` bug#38226: guix pull: error: build failed: zimoun 0 siblings, 2 replies; 14+ messages in thread From: Kai Mertens @ 2019-11-16 2:26 UTC (permalink / raw) To: 38226 [-- Attachment #1: Type: text/plain, Size: 2047 bytes --] Dear Guix Developers, unfortunately, I do not manage to update my outdated GNU Guix version via “sudo -i guix pull -c0”. The command fails with the listed message after being executed for about 16hours. I tried it three times, on different days. The most recent one was yesterday. In difference to a recently posted failure, this time... * my /tmp partition has enough space available (>12GB) * and guix is substituting from https://ci.guix.gnu.org I would very much apreciate if you find the time to investigate this bug. I hope it is one, as I don't want to spoil the mailing list with just personal obstacles in respect to guix usage. What kind of information shall I provide, else? The command “sudo -i guix --version” gives me: guix (GNU Guix) 20170703.13 I would have tried to update guix in smaller steps, but option “pull --commit” is not available. ~~~ [...] grafting '/gnu/store/nk1w9h9998w5vyj6zw3h37idmm8c7xsd-guile-2.0.14-debug' -> '/gnu/store/1xbphq9bpylnv46y1dmax5866nbvxyjm-guile-2.0.14-debug'... grafting '/gnu/store/brn8kcdv4xyjn445540zmpvawyzb4c38-guile-2.0.14' -> '/gnu/store/prq1xm7fp9dzp7whw8742djw4vsrsd4f-guile-2.0.14'... ice-9/boot-9.scm:109:20: In procedure #<procedure 863fca0 at ice-9/boot-9.scm:100:6 (thrown-k . args)>: ice-9/boot-9.scm:109:20: Syntax error: unknown location: unexpected syntax in form current-imported-modules builder for `/gnu/store/qrsd2qvaj52fqsywdwlcrh6366gasiff-module-import-compiled.drv' failed with exit code 1 cannot build derivation `/gnu/store/agyip2r3ars2yxjxnm3s3jlh4q5fjcpk-compute-guix-derivation.drv': 1 dependencies couldn't be built guix pull: error: build failed: build of `/gnu/store/agyip2r3ars2yxjxnm3s3jlh4q5fjcpk-compute-guix-derivation.drv' failed ~~~ 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 --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 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 ` (2 more replies) 2020-05-22 0:22 ` bug#38226: guix pull: error: build failed: zimoun 1 sibling, 3 replies; 14+ messages in thread From: Ludovic Courtès @ 2019-11-17 21:14 UTC (permalink / raw) To: Kai Mertens; +Cc: 38226 Hello Kai, Kai Mertens <kmx@posteo.net> skribis: > 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! We should probably streamline that. Actually, it’s already almost automated: --8<---------------cut here---------------start------------->8--- $ wget -q -O - 'https://ci.guix.gnu.org/api/latestbuilds?nr=1&jobset=guix-modular-master' | jq '.[0]["derivation"]' "/gnu/store/ihylk84symj8mjhp3zmy83ch2h2pl0ks-guix-57c7bfec6.drv" --8<---------------cut here---------------end--------------->8--- The only thing that’s missing here is that currently “guix build /gnu/store/….drv” fails if the .drv doesn’t already exist, which is why the trick above resorts to a lower-level mechanism. Perhaps ‘guix pull’ should have a ‘--rescue’ option to do the trick above? HTH, Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 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-20 14:21 ` Kai Mertens 2 siblings, 2 replies; 14+ messages in thread From: Kai Mertens @ 2019-11-18 11:15 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 38226 [-- Attachment #1: Type: text/plain, Size: 1584 bytes --] On Sun, 17 Nov 2019 22:14:07 +0100 Ludovic Courtès <ludo@gnu.org> wrote: Hello Ludo’, > > Here’s a trick to do that (for commit 57c7bfec6, on x86_64-linux): hmm, I am on i686 – is the trick still applicable? I will switch to root’s profile with “sudo -i”, but that is ok, right? (If you please send your OK – then I will try it...) My current root profile contains three packages: ~~~ 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 ~~~ I guess I cannot use a simple “sudo -i guix package -u guix” as a workaround for the failing “sudo -i guix pull”, as it would bring up the same issue? > [...] > > Perhaps ‘guix pull’ should have a ‘--rescue’ option to do the trick > above? Oh, I don't feel competent enough to give ideas, but “pull --rescue” sounds too generic to me. Maybe there will be other use cases that will require a (different) rescue trick in future. Instead, your commit 9c9982dc0 suggests a “pull --substitute-missing-derivations” to me. > > HTH, > Ludo’. Thank you very much for that fast response and commits! 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 --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-18 11:15 ` Kai Mertens @ 2019-11-18 12:23 ` zimoun 2019-11-18 20:19 ` Ludovic Courtès 1 sibling, 0 replies; 14+ messages in thread From: zimoun @ 2019-11-18 12:23 UTC (permalink / raw) To: Kai Mertens; +Cc: 38226 Hi Kai, On Mon, 18 Nov 2019 at 12:19, Kai Mertens <kmx@posteo.net> wrote: > On Sun, 17 Nov 2019 22:14:07 +0100 > Ludovic Courtès <ludo@gnu.org> wrote: > > Here’s a trick to do that (for commit 57c7bfec6, on x86_64-linux): > > hmm, I am on i686 – is the trick still applicable? > I will switch to root’s profile with “sudo -i”, but that is ok, right? > (If you please send your OK – then I will try it...) I think the evaluation [1] should do the job for i686. [1] https://ci.guix.gnu.org/build/1943561/details > I guess I cannot use a simple “sudo -i guix package -u guix” as a > workaround for the failing “sudo -i guix pull”, as it would bring up > the same issue? The issue you encounter comes from a compatibility break in Guix. Four years later (more or less I guess), inferiors has bee introduced in Guix. They allow to go back and forward with "guix pull --commit=". Well, other said, your version of Guix is too old to be updated using the usual way. The only way is to apply the Ludo's "trick". If I understand well: 1. Fetch a recent enough derivation of Guix 2. Build this derivation with your old Guix 3. Manually pull to populate the store 4. Then the profile ~/.config/guix/ should be ok > Oh, I don't feel competent enough to give ideas, but “pull --rescue” > sounds too generic to me. Maybe there will be other use cases that will > require a (different) rescue trick in future. Instead, your commit > 9c9982dc0 suggests a “pull --substitute-missing-derivations” to me. If I understand well, your version of Guix is too old to use the feature described in commit 9c9982dc0. And if I still understand correctly, "pull --rescue" should be mechanism to easily update an old Guix (before the overhaul in 0.15.0) instead of doing all the dance. All the best, simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-18 11:15 ` Kai Mertens 2019-11-18 12:23 ` zimoun @ 2019-11-18 20:19 ` Ludovic Courtès 1 sibling, 0 replies; 14+ messages in thread From: Ludovic Courtès @ 2019-11-18 20:19 UTC (permalink / raw) To: Kai Mertens; +Cc: 38226 Hello, Kai Mertens <kmx@posteo.net> skribis: > hmm, I am on i686 – is the trick still applicable? Sure, you can try the command I gave with "/gnu/store/ly0x0dk2qm0jk3fgwsrnl5cy8a1ybwkk-guix-900ef20b1.drv" for instance. > I will switch to root’s profile with “sudo -i”, but that is ok, right? Yes, you can do that. “sudo -i guix pull” means you’ll be updating root’s Guix. You’ll probably want to update your user’s Guix as well, with just “guix pull”. > I guess I cannot use a simple “sudo -i guix package -u guix” as a > workaround for the failing “sudo -i guix pull”, as it would bring up > the same issue? Right, you have to get yourself a newer Guix first. :-) HTH! Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-17 21:14 ` Ludovic Courtès 2019-11-18 11:15 ` Kai Mertens @ 2019-11-18 12:08 ` zimoun 2019-11-18 16:22 ` Ludovic Courtès 2019-11-20 14:21 ` Kai Mertens 2 siblings, 1 reply; 14+ messages in thread From: zimoun @ 2019-11-18 12:08 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 38226, Kai Mertens Hi Ludo, On Sun, 17 Nov 2019 at 22:15, Ludovic Courtès <ludo@gnu.org> wrote: > The only thing that’s missing here is that currently “guix build > /gnu/store/….drv” fails if the .drv doesn’t already exist, which is why > the trick above resorts to a lower-level mechanism. I miss how to fetch this missing .drv. :-) For example this evaluation built a recent enough Guix, right? --8<---------------cut here---------------start------------->8--- $ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivation"' --8<---------------cut here---------------start------------->8--- outputs the derivation file. But how do you fetch it? I have not found in the Cuirass API doc. Maybe I missing the obvious. Then, once I have downloaded this derivation, the old Guix should be able to build it, right? No daemon issue? --8<---------------cut here---------------start------------->8--- $ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv" --8<---------------cut here---------------start------------->8--- This will populate the store with a new guix. Then I need to pull as root, in order to also update the daemon, right? --8<---------------cut here---------------start------------->8--- # /gnu/store/<hash-returned-by-previous-build>-guix-4de11dda7/bin/guix pulll --8<---------------cut here---------------start------------->8--- > Perhaps ‘guix pull’ should have a ‘--rescue’ option to do the trick > above? Is it possible? We need to track on Cuirass one recent enough derivation of Guix for each architecture, right? All the best, simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-18 12:08 ` zimoun @ 2019-11-18 16:22 ` Ludovic Courtès 2019-11-18 16:44 ` zimoun 0 siblings, 1 reply; 14+ messages in thread From: Ludovic Courtès @ 2019-11-18 16:22 UTC (permalink / raw) To: zimoun; +Cc: 38226, Kai Mertens Hi! zimoun <zimon.toutoune@gmail.com> skribis: > Hi Ludo, > > On Sun, 17 Nov 2019 at 22:15, Ludovic Courtès <ludo@gnu.org> wrote: > >> The only thing that’s missing here is that currently “guix build >> /gnu/store/….drv” fails if the .drv doesn’t already exist, which is why >> the trick above resorts to a lower-level mechanism. > > I miss how to fetch this missing .drv. :-) > > > For example this evaluation built a recent enough Guix, right? > > $ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivation"' > > > outputs the derivation file. But how do you fetch it? You don’t explicitly fetch it. Instead, you run “guix build /….drv”, and the daemon automatically attempts to substitute it if it’s not available in your store (note that you need commit 9c9982dc0c8c38ce3821b154b7e92509c1564317.) Now, I noticed that it doesn’t work so well when ‘guix publish --cache’ is used, as is the case on berlin. The reason is that the daemon will query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and so on. And because of the ‘--cache’ behavior, they’ll all have to be baked separately. Apart from that it’s really fun, I wonder why I’ve never used that feature before! >> Perhaps ‘guix pull’ should have a ‘--rescue’ option to do the trick >> above? > > Is it possible? > We need to track on Cuirass one recent enough derivation of Guix for > each architecture, right? Yeah well, that needs more thought. :-) Thanks, Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-18 16:22 ` Ludovic Courtès @ 2019-11-18 16:44 ` zimoun 2019-11-18 20:10 ` Ludovic Courtès 0 siblings, 1 reply; 14+ messages in thread From: zimoun @ 2019-11-18 16:44 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 38226, Kai Mertens Hi Ludo, On Mon, 18 Nov 2019 at 17:22, Ludovic Courtès <ludo@gnu.org> wrote: > zimoun <zimon.toutoune@gmail.com> skribis: > > On Sun, 17 Nov 2019 at 22:15, Ludovic Courtès <ludo@gnu.org> wrote: > >> The only thing that’s missing here is that currently “guix build > >> /gnu/store/….drv” fails if the .drv doesn’t already exist, which is why > >> the trick above resorts to a lower-level mechanism. > > > > I miss how to fetch this missing .drv. :-) > > > > For example this evaluation built a recent enough Guix, right? > > > > $ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivation"' > > > > > > outputs the derivation file. But how do you fetch it? > > You don’t explicitly fetch it. Instead, you run “guix build /….drv”, > and the daemon automatically attempts to substitute it if it’s not > available in your store (note that you need commit > 9c9982dc0c8c38ce3821b154b7e92509c1564317.) I do not have when I tested. The commit is from yesterday evening. ;-) (that's a real rolling release :-D) But if you have this commit, you do not need the dance that you described to "guix pull" with a very very old Guix version -- say before the 0.15 overhaul. > Now, I noticed that it doesn’t work so well when ‘guix publish --cache’ > is used, as is the case on berlin. The reason is that the daemon will > query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and > so on. And because of the ‘--cache’ behavior, they’ll all have to be > baked separately. --8<---------------cut here---------------start------------->8--- $ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv" substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% cannot build missing derivation ‘/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv’ guix build: error: build of `/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv' failed $ guix describe Generation 55 Nov 18 2019 13:21:24 (current) guix 900ef20 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 900ef20b1da66ad71145082c883dc12f31fafa54 --8<---------------cut here---------------end--------------->8--- > >> Perhaps ‘guix pull’ should have a ‘--rescue’ option to do the trick > >> above? > > > > Is it possible? > > We need to track on Cuirass one recent enough derivation of Guix for > > each architecture, right? > > Yeah well, that needs more thought. :-) I am not sure to clearly understand what we are talking about. :-) All the best, simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-18 16:44 ` zimoun @ 2019-11-18 20:10 ` Ludovic Courtès 2019-11-19 11:49 ` zimoun 0 siblings, 1 reply; 14+ messages in thread From: Ludovic Courtès @ 2019-11-18 20:10 UTC (permalink / raw) To: zimoun; +Cc: 38226, Kai Mertens zimoun <zimon.toutoune@gmail.com> skribis: > But if you have this commit, you do not need the dance that you > described to "guix pull" with a very very old Guix version -- say > before the 0.15 overhaul. You need to do the short version of the dance, so to speak, and the proposed ‘--rescue’ could do that for you. >> Now, I noticed that it doesn’t work so well when ‘guix publish --cache’ >> is used, as is the case on berlin. The reason is that the daemon will >> query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and >> so on. And because of the ‘--cache’ behavior, they’ll all have to be >> baked separately. > > $ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv" > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > cannot build missing derivation > ‘/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv’ > guix build: error: build of > `/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv' > failed That’s a perfect illustration of the problem I described just above. If you try again 5mn later, it should go a bit further, and so forth. Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-18 20:10 ` Ludovic Courtès @ 2019-11-19 11:49 ` zimoun 2019-11-20 14:15 ` Ludovic Courtès 0 siblings, 1 reply; 14+ messages in thread From: zimoun @ 2019-11-19 11:49 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 38226, Kai Mertens Hi Ludo, On Mon, 18 Nov 2019 at 21:10, Ludovic Courtès <ludo@gnu.org> wrote: > > zimoun <zimon.toutoune@gmail.com> skribis: > > > But if you have this commit, you do not need the dance that you > > described to "guix pull" with a very very old Guix version -- say > > before the 0.15 overhaul. > > You need to do the short version of the dance, so to speak, and the > proposed ‘--rescue’ could do that for you. Sorry, I am slow to understand. My current Guix version is pre-0.15. So "guix pull" does not work anymore. This evaluation [1] contains a recent enough Guix to be able to pull, I guess. [1] http://ci.guix.gnu.org/build/1943556 I can download the derivation with: wget https://ci.guix.info/nar/gzip/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv But how to move the derivation to store? I am not sure that it makes sense. Well, the previous Guile snippet you have shown returns an error. My other approach is to clone and fetch a recent Guix from Git. Then: ./pre-env guix pull "bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv" But I am not sure it will work because of the daemon. Do it make sense to start the fresh compiled daemon? > >> Now, I noticed that it doesn’t work so well when ‘guix publish --cache’ > >> is used, as is the case on berlin. The reason is that the daemon will > >> query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and > >> so on. And because of the ‘--cache’ behavior, they’ll all have to be > >> baked separately. > > > > $ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv" > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% > > cannot build missing derivation > > ‘/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv’ > > guix build: error: build of > > `/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv' > > failed > > That’s a perfect illustration of the problem I described just above. Ahah! I am very slow to understand. :-) Cheers, simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-19 11:49 ` zimoun @ 2019-11-20 14:15 ` Ludovic Courtès 0 siblings, 0 replies; 14+ messages in thread From: Ludovic Courtès @ 2019-11-20 14:15 UTC (permalink / raw) To: zimoun; +Cc: 38226, Kai Mertens Hi, zimoun <zimon.toutoune@gmail.com> skribis: > I can download the derivation with: > > wget https://ci.guix.info/nar/gzip/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv > > But how to move the derivation to store? I am not sure that it makes sense. It’s easier than this: just type guix build /gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv and it will download the .drv and start building it. (Modulo the ‘guix publish --cache’ issue I mentioned.) HTH! Ludo’. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-17 21:14 ` Ludovic Courtès 2019-11-18 11:15 ` Kai Mertens 2019-11-18 12:08 ` zimoun @ 2019-11-20 14:21 ` Kai Mertens 2020-02-18 13:27 ` zimoun 2 siblings, 1 reply; 14+ messages in thread From: Kai Mertens @ 2019-11-20 14:21 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 38226 [-- 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 --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: 2019-11-20 14:21 ` Kai Mertens @ 2020-02-18 13:27 ` zimoun 0 siblings, 0 replies; 14+ messages in thread From: zimoun @ 2020-02-18 13:27 UTC (permalink / raw) To: Kai Mertens; +Cc: 38226 Hi Kai, What is the status of this bug? Have you solved it? Any progress? On Wed, 20 Nov 2019 at 15:30, Kai Mertens <kmx@posteo.net> wrote: > 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 Yes, very very old! ;-) > Whereas, my user account has a more up-to-date version: > bootstrap-20190815-3564-g7696af421b > and its Generation 1 refers to: > v0.16.0 And do you still have an issue when pulling from there? > # /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'... This message is not expected. Something is going wrongly and was wrong before. > I guess I am back on track now, would you agree? Yes, you seems back on track. :-) Is it ok for you? If yes, answer to 38226-done@debbugs.gnu.org to close the bug. :-) > 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? What do you mean by "did not use local derivations or binaries that were already available in the store"? Do you have a concrete example? > 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”. The command "guix package -i guix" will install the package 'guix' in the profile and so 'guix' will appear with "guix package -I" It is different than installing Guix itself. Roughly speaking, "--install guix" will install the Guile library named 'guix'. And installing Guix itself on a foreign distro will install all the package manager. All the best, simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#38226: guix pull: error: build failed: 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 @ 2020-05-22 0:22 ` zimoun 1 sibling, 0 replies; 14+ messages in thread From: zimoun @ 2020-05-22 0:22 UTC (permalink / raw) To: 38226-done Dear, Because this bug is tagged moreinfo and without any activities since 13 weeks, I am closing. Feel free to reopen it if I have misunderstood the status of this bug. Best regards, simon ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-05-22 0:23 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 2020-02-18 13:27 ` zimoun 2020-05-22 0:22 ` bug#38226: guix pull: error: build failed: zimoun
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.