From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Simon Tournier <zimon.toutoune@gmail.com>
Cc: "Vagrant Cascadian" <vagrant@debian.org>,
"Ludovic Courtès" <ludo@gnu.org>,
47949@debbugs.gnu.org, "Roel Janssen" <roel@gnu.org>
Subject: bug#47949: Failed to produce output path for guix-package-cache
Date: Fri, 05 May 2023 10:23:58 -0400 [thread overview]
Message-ID: <87r0ru501t.fsf@gmail.com> (raw)
In-Reply-To: <875y987z1m.fsf@gmail.com> (Simon Tournier's message of "Thu, 04 May 2023 20:05:09 +0200")
Hi Simon,
Simon Tournier <zimon.toutoune@gmail.com> writes:
> Hi Maxim,
>
> On jeu., 04 mai 2023 at 08:53, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>> [0] https://gitlab.com/Apteryks/sfl-guix-channel
>
> From a Guile point of view, where the symbol ’python-pycrypto’ [1,2] is
> it defined? And it’s defined nowhere.
>
> I would suggest to bind the symbol ’python-pycrypto’ to a package from
> an inferior. Hum, but that’s not working as expected…
>
> Applying this patch:
>
> diff --git a/sfl/packages/sflvault.scm b/sfl/packages/sflvault.scm
> index 74a975f..eb04a5b 100644
> --- a/sfl/packages/sflvault.scm
> +++ b/sfl/packages/sflvault.scm
> @@ -8,7 +8,28 @@
> #:use-module (guix download)
> #:use-module (guix git-download)
> #:use-module (guix packages)
> - #:use-module (guix build-system python))
> + #:use-module (guix build-system python)
> +
> + #:use-module (guix inferior)
> + #:use-module (guix channels)
> + #:use-module (srfi srfi-1))
> +
> +(define channels
> + ;; This is the old revision from which we want to
> + ;; extract guile-json.
> + (list (channel
> + (name 'guix)
> + (url "https://git.savannah.gnu.org/git/guix.git")
> + (commit
> + "9ed65e6af77893b658a7159b091b5002892c2f95"))))
> +
> +(define inferior
> + ;; An inferior representing the above revision.
> + (inferior-for-channels channels))
> +
> +(define python-pycrypto
> + (first (lookup-inferior-packages inferior "python-pycrypto")))
> +
>
> ;;; python-keyring > 1.6.1 API has changed, which breaks 'sflvault
> ;;; wallet' (see:
>
>
> then that works:
>
> $ guix show -L sfl-guix-channel python-sflvault-common
> name: python-sflvault-common
> version: 0.9.2-2.120617c
> outputs:
> + out: everything
> systems: x86_64-linux i686-linux
> dependencies: python-wheel@0.40.0
> location: sfl-guix-channel/sfl/packages/sflvault.scm:84:2
> homepage: https://www.sflvault.org
> license: GPL 3+
> synopsis: Network credentials store and authentication manager library
> description: This package is a Python library that contains code common to the
> + SFLvault server and its clients.
>
> $ guix time-machine --commit=9ed65e6af77893b658a7159b091b5002892c2f95 \
> -- build python-pycrypto --no-grafts --check -K -q
> /gnu/store/3kbr3lnwajc16a7w2jq3knxsphlrqkrz-python-pycrypto-2.6.1
>
> $ guix time-machine --commit=9ed65e6af77893b658a7159b091b5002892c2f95 \
> -- build python-pycrypto --check -K -q
> /gnu/store/yrpcsjjb3b5wr2jahp5rbr8vbbg1n3yg-python-pycrypto-2.6.1
>
> $ guix build -L sfl-guix-channel -e '(@@ (sfl packages sflvault) python-pycrypto)'
> /gnu/store/yrpcsjjb3b5wr2jahp5rbr8vbbg1n3yg-python-pycrypto-2.6.1
>
>
>
> However, then this,
>
> guix build -L sfl-guix-channel python-sflvault-common
>
> fails with:
>
> starting phase `sanity-check'
> validating 'SFLvault-common' /gnu/store/r3kfygxwzpnsia687bf0d1xsval5cid7-python-sflvault-common-0.9.2-2.120617c/lib/python3.10/site-packages
> ...checking requirements: ERROR: SFLvault-common==0.9.2 DistributionNotFound(Requirement.parse('pycrypto'), {'SFLvault-common'})
> error: in phase 'sanity-check': uncaught exception:
> %exception #<&invoke-error program: "python" arguments: ("/gnu/store/iqsjkp55pcx5bfcp2jm9yj5rlx9a0whd-sanity-check.py" "/gnu/store/r3kfygxwzpnsia687bf0d1xsval5cid7-python-sflvault-common-0.9.2-2.120617c/lib/python3.10/site-packages") exit-status: 1 term-signal: #f stop-signal: #f>
> phase `sanity-check' failed after 0.1 seconds
> command "python" "/gnu/store/iqsjkp55pcx5bfcp2jm9yj5rlx9a0whd-sanity-check.py" "/gnu/store/r3kfygxwzpnsia687bf0d1xsval5cid7-python-sflvault-common-0.9.2-2.120617c/lib/python3.10/site-packages" failed with status 1
> builder for `/gnu/store/6i075y53h83rasrw898n6qnsn673hnll-python-sflvault-common-0.9.2-2.120617c.drv' failed with exit code 1
> build of /gnu/store/6i075y53h83rasrw898n6qnsn673hnll-python-sflvault-common-0.9.2-2.120617c.drv failed
> View build log at '/var/log/guix/drvs/6i/075y53h83rasrw898n6qnsn673hnll-python-sflvault-common-0.9.2-2.120617c.drv.gz'.
> guix build: error: build of `/gnu/store/6i075y53h83rasrw898n6qnsn673hnll-python-sflvault-common-0.9.2-2.120617c.drv' failed
>
>
> Bah I do not know. Somehow, it would be the strategy I would try to follow.
Hm. Interesting to try to use the inferior in the package definition.
I was using a Guix inferior encapsulating the whole 'sflvault-client'
package's world view in a manifest, but this does not change the
behavior of Guix pull, which validates that all package exists at this
earlier time, at least for its package cache derivation.
> Last, I get an error:
>
> $ cat channels.scm
> (list (channel
> (name 'guix)
> (url "https://git.savannah.gnu.org/git/guix.git")
> (branch "master")
> (commit
> "fa685c87eaa9888a4278f39bb2b815673589dced"))
> (channel
> (name 'sfl)
> (url "file:///tmp/sfl-guix-channel")
> (branch "master")
> (commit
> "11bbb36e28ee80ce17785f09b33ed20af18d4832"
> ;"bc6b32b116d3e62b5f41cb73df63a6024f1324ba"
> )))
>
> $ guix time-machine -C /tmp/channels.scm -- help
> [...]
>
> building /gnu/store/56ilhij5y51xg5znaspwk2zl731bq8za-sfl.drv...
> |builder for `/gnu/store/56ilhij5y51xg5znaspwk2zl731bq8za-sfl.drv' failed to produce output path `/gnu/store/nlpvr38p83jwrwcsj1czwhi8r2jpa2ic-sfl'
> build of /gnu/store/56ilhij5y51xg5znaspwk2zl731bq8za-sfl.drv failed
> View build log at '/var/log/guix/drvs/56/ilhij5y51xg5znaspwk2zl731bq8za-sfl.drv.gz'.
> cannot build derivation `/gnu/store/spikfdg9lhxy98z33dqiv6clmjm2kwv6-profile.drv': 1 dependencies couldn't be built
> guix time-machine: error: build of `/gnu/store/spikfdg9lhxy98z33dqiv6clmjm2kwv6-profile.drv' failed
>
>
> which reads,
>
> (repl-version 0 1 1)
> (exception %exception (non-self-quoting 140737182622144 "#<&store-connection-error file: \"/var/guix/daemon-socket/socket\" errno: 2>"))
>
>
> Hum?!
I guess the use of an inferior in package code is not a very well
supported use case (or invalid?).
Thanks for experimenting and sharing the results! I'll continue the
investigation/discussion in #63276, an issue I created for this very
purpose.
--
Thanks,
Maxim
next prev parent reply other threads:[~2023-05-05 14:25 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-22 11:38 bug#47949: Failed to produce output path for guix-package-cache Roel Janssen
2021-04-28 21:38 ` Ludovic Courtès
2021-04-29 7:01 ` Roel Janssen
2021-04-29 7:56 ` Ludovic Courtès
2022-10-25 19:50 ` Vagrant Cascadian
2022-10-26 8:10 ` zimoun
2022-10-26 16:57 ` Vagrant Cascadian
2022-10-26 19:58 ` zimoun
2022-10-26 23:25 ` Vagrant Cascadian
2022-10-28 20:23 ` Vagrant Cascadian
2022-10-29 14:42 ` Maxime Devos
2022-11-02 11:02 ` zimoun
2022-11-02 18:40 ` Vagrant Cascadian
2022-11-03 8:48 ` zimoun
2022-11-03 18:35 ` Vagrant Cascadian
2023-04-28 16:47 ` Maxim Cournoyer
2023-04-28 17:41 ` Maxim Cournoyer
2023-05-03 16:44 ` Simon Tournier
2023-05-04 12:53 ` Maxim Cournoyer
2023-05-04 18:05 ` Simon Tournier
2023-05-05 14:23 ` Maxim Cournoyer [this message]
2023-05-03 19:25 ` Ludovic Courtès
2023-05-04 12:55 ` Maxim Cournoyer
2023-05-04 12:59 ` Maxim Cournoyer
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r0ru501t.fsf@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=47949@debbugs.gnu.org \
--cc=ludo@gnu.org \
--cc=roel@gnu.org \
--cc=vagrant@debian.org \
--cc=zimon.toutoune@gmail.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).