* Custom channel is making guix pull fail
@ 2024-09-13 17:14 Luis Felipe
2024-09-14 5:41 ` Moisés Simón
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Luis Felipe @ 2024-09-13 17:14 UTC (permalink / raw)
To: help-guix
[-- Attachment #1.1.1: Type: text/plain, Size: 3999 bytes --]
Hi,
Could you help me find out what I'm doing wrong here, please? :)
I have a custom channel
(https://codeberg.org/luis-felipe/guix-channel-x) that had been working
fine for a very long time, but now running "guix pull" fails with the
following error:
#+begin_quote
building /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv...
-builder for `/gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv'
failed to produce output path
`/gnu/store/zpmgrl9sz83ininzainjs9kjk25wymsw-luflac-x'
build of /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv failed
View build log at
'/var/log/guix/drvs/3a/ghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv.gz'.
cannot build derivation
`/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv': 1 dependencies
couldn't be built
guix pull: error: build of
`/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv' failed
#+end_quote
And the referenced build log reads as follows:
#+begin_quote
(repl-version 0 1 1)
guix repl: warning: '%gnu-build-system-modules' is deprecated,
use '%default-gnu-imported-modules' instead
WARNING: (guix build guile-easy-build-system):
imported module (guix build utils) overrides core binding `delete'
(exception match-error (value "match") (value "no matching pattern")
(value ()))
#+end_quote
My "channels.scm" configuration looks like this:
#+begin_src scheme
;;; Guix channels definitions.
;;; Location: ~/.config/guix/channels.scm
(use-modules (guix ci))
(list
(channel
(name 'luflac-x)
(url "https://codeberg.org/luis-felipe/guix-channel-x.git")
(branch "trunk")
(introduction
(make-channel-introduction
"53e5e8864d04efb8d7315719575718665c68c792"
(openpgp-fingerprint
"0910 827A 2E06 1E61 6C06 AC3D 0AB0 D067 012F 08C3"))))
(channel-with-substitutes-available
%default-guix-channel
"https://ci.guix.gnu.org"))
#+end_src
Wanting to debug the problem using a local copy of my channel, I changed
my channel's record in "channels.scm" as follows:
#+begin_src scheme
(use-modules (guix ci))
(list
#;
(channel
(name 'luflac-x)
(url "https://codeberg.org/luis-felipe/guix-channel-x.git")
(branch "trunk")
(introduction
(make-channel-introduction
"53e5e8864d04efb8d7315719575718665c68c792"
(openpgp-fingerprint
"0910 827A 2E06 1E61 6C06 AC3D 0AB0 D067 012F 08C3"))))
;; NOTE: Use the following definition to debug the channel locally.
(channel
(name 'luflac-x)
(url (string-append (getenv "HOME") "/guix-channel-x"))
(branch "debug")
(introduction
(make-channel-introduction
"53e5e8864d04efb8d7315719575718665c68c792"
(openpgp-fingerprint
"0910 827A 2E06 1E61 6C06 AC3D 0AB0 D067 012F 08C3"))))
(channel-with-substitutes-available
%default-guix-channel
"https://ci.guix.gnu.org"))
#+end_src
But then "guix pull" fails with the following error:
#+begin_quote
Updating channel 'luflac-x' from Git repository at
'/home/yo/guix-channel-x'...
guix pull: error: Git error: cannot locate remote-tracking branch
'origin/debug'
#+end_quote
I don't understand why git is looking for a remote-tracking branch in
"origin". The "debug" branch is available locally only. And even if I
push it to origin, I get the same error when running "guix pull" again.
Also, if I change the branch to "trunk", I get the following error:
#+begin_quote
Updating channel 'luflac-x' from Git repository at
'/home/yo/guix-channel-x'...
guix pull: error: Git error: cannot locate remote-tracking branch
'origin/keyring'
#+end_quote
Even though the "keyring" branch exists both locally and remotely (in
"origin")...
Finally, and for what it's worth, I can import all modules in the
channel from a Guile REPL without errors.
Thanks in advance,
--
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2881 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Custom channel is making guix pull fail
2024-09-13 17:14 Custom channel is making guix pull fail Luis Felipe
@ 2024-09-14 5:41 ` Moisés Simón
2024-09-14 15:27 ` Luis Felipe
2024-09-14 11:41 ` Marek Paśnikowski
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Moisés Simón @ 2024-09-14 5:41 UTC (permalink / raw)
To: help-guix, Luis Felipe
Hola Luis,
Regarding the issue I can't help but to use a local channel it has to start with file:// so:
(url (string-append "file://" (getenv "HOME") "/guix-channel-x"))
should do it
El 13 de septiembre de 2024 17:14:16 UTC, Luis Felipe <sirgazil@zoho.com> escribió:
>Hi,
>
>Could you help me find out what I'm doing wrong here, please? :)
>
>I have a custom channel (https://codeberg.org/luis-felipe/guix-channel-x) that had been working fine for a very long time, but now running "guix pull" fails with the following error:
>
>#+begin_quote
>building /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv...
>-builder for `/gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv' failed to produce output path
>`/gnu/store/zpmgrl9sz83ininzainjs9kjk25wymsw-luflac-x'
>build of /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv failed
>View build log at '/var/log/guix/drvs/3a/ghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv.gz'.
>cannot build derivation `/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv': 1 dependencies
>couldn't be built
>guix pull: error: build of `/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv' failed
>#+end_quote
>
>And the referenced build log reads as follows:
>
>#+begin_quote
>(repl-version 0 1 1)
>guix repl: warning: '%gnu-build-system-modules' is deprecated,
>use '%default-gnu-imported-modules' instead
>WARNING: (guix build guile-easy-build-system):
>imported module (guix build utils) overrides core binding `delete'
>(exception match-error (value "match") (value "no matching pattern") (value ()))
>#+end_quote
>
>My "channels.scm" configuration looks like this:
>
>#+begin_src scheme
>;;; Guix channels definitions.
>;;; Location: ~/.config/guix/channels.scm
>
>(use-modules (guix ci))
>
>(list
> (channel
> (name 'luflac-x)
> (url "https://codeberg.org/luis-felipe/guix-channel-x.git")
> (branch "trunk")
> (introduction
> (make-channel-introduction
> "53e5e8864d04efb8d7315719575718665c68c792"
> (openpgp-fingerprint
> "0910 827A 2E06 1E61 6C06 AC3D 0AB0 D067 012F 08C3"))))
>
> (channel-with-substitutes-available
> %default-guix-channel
>"https://ci.guix.gnu.org"))
>#+end_src
>
>Wanting to debug the problem using a local copy of my channel, I changed my channel's record in "channels.scm" as follows:
>
>#+begin_src scheme
>(use-modules (guix ci))
>
>(list
> #;
> (channel
> (name 'luflac-x)
> (url "https://codeberg.org/luis-felipe/guix-channel-x.git")
> (branch "trunk")
> (introduction
> (make-channel-introduction
> "53e5e8864d04efb8d7315719575718665c68c792"
> (openpgp-fingerprint
> "0910 827A 2E06 1E61 6C06 AC3D 0AB0 D067 012F 08C3"))))
> ;; NOTE: Use the following definition to debug the channel locally.
> (channel
> (name 'luflac-x)
> (url (string-append (getenv "HOME") "/guix-channel-x"))
> (branch "debug")
> (introduction
> (make-channel-introduction
> "53e5e8864d04efb8d7315719575718665c68c792"
> (openpgp-fingerprint
> "0910 827A 2E06 1E61 6C06 AC3D 0AB0 D067 012F 08C3"))))
>
> (channel-with-substitutes-available
> %default-guix-channel
> "https://ci.guix.gnu.org"))
>#+end_src
>
>But then "guix pull" fails with the following error:
>
>#+begin_quote
>Updating channel 'luflac-x' from Git repository at '/home/yo/guix-channel-x'...
>guix pull: error: Git error: cannot locate remote-tracking branch 'origin/debug'
>#+end_quote
>
>I don't understand why git is looking for a remote-tracking branch in "origin". The "debug" branch is available locally only. And even if I push it to origin, I get the same error when running "guix pull" again.
>
>Also, if I change the branch to "trunk", I get the following error:
>
>#+begin_quote
>Updating channel 'luflac-x' from Git repository at '/home/yo/guix-channel-x'...
>guix pull: error: Git error: cannot locate remote-tracking branch 'origin/keyring'
>#+end_quote
>
>Even though the "keyring" branch exists both locally and remotely (in "origin")...
>
>Finally, and for what it's worth, I can import all modules in the channel from a Guile REPL without errors.
>
>Thanks in advance,
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Custom channel is making guix pull fail
2024-09-13 17:14 Custom channel is making guix pull fail Luis Felipe
2024-09-14 5:41 ` Moisés Simón
@ 2024-09-14 11:41 ` Marek Paśnikowski
2024-09-17 1:45 ` Felix Lechner via
2024-09-20 18:26 ` Luis Felipe
3 siblings, 0 replies; 7+ messages in thread
From: Marek Paśnikowski @ 2024-09-14 11:41 UTC (permalink / raw)
To: Luis Felipe; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 1609 bytes --]
Luis Felipe <sirgazil@zoho.com> writes:
> I have a custom channel
> (https://codeberg.org/luis-felipe/guix-channel-x) that had been working
> fine for a very long time, but now running "guix pull" fails with the
> following error:
>
> #+begin_quote
> building /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv...
> -builder for `/gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv'
> failed to produce output path
> `/gnu/store/zpmgrl9sz83ininzainjs9kjk25wymsw-luflac-x'
> build of /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv failed
> View build log at
> '/var/log/guix/drvs/3a/ghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv.gz'.
> cannot build derivation
> `/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv': 1 dependencies
> couldn't be built
> guix pull: error: build of
> `/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv' failed
> #+end_quote
>
>
> And the referenced build log reads as follows:
>
> #+begin_quote
> (repl-version 0 1 1)
> guix repl: warning: '%gnu-build-system-modules' is deprecated,
> use '%default-gnu-imported-modules' instead
> WARNING: (guix build guile-easy-build-system):
> imported module (guix build utils) overrides core binding `delete'
> (exception match-error (value "match") (value "no matching pattern")
> (value ()))
> #+end_quote
Before anything else, did you change anything in your private channel
before the breakage occurred?
Alternatively, you could see how =guix pull= reacts to the = --commit =
option. It is possible that something got broken in master branch, yet
again.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Custom channel is making guix pull fail
2024-09-14 5:41 ` Moisés Simón
@ 2024-09-14 15:27 ` Luis Felipe
0 siblings, 0 replies; 7+ messages in thread
From: Luis Felipe @ 2024-09-14 15:27 UTC (permalink / raw)
To: Moisés Simón, help-guix
[-- Attachment #1.1.1: Type: text/plain, Size: 636 bytes --]
El 14/09/24 a las 5:41, Moisés Simón escribió:
> Hola Luis,
Ey, Moisés :)
> Regarding the issue I can't help but to use a local channel it has to start with file:// so:
>
> (url (string-append "file://" (getenv "HOME") "/guix-channel-x"))
>
> should do it
Actually, I had already tried that, but I got the same error. And I just
tried again to be sure, and yeah:
#+begin_quote
guix pull
Updating channel 'luflac-x' from Git repository at
'file:///home/yo/guix-channel-x'...
guix pull: error: Git error: cannot locate remote-tracking branch
'origin/debug'
#+end_quote
Thanks for checking, Moisés.
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2881 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Custom channel is making guix pull fail
2024-09-13 17:14 Custom channel is making guix pull fail Luis Felipe
2024-09-14 5:41 ` Moisés Simón
2024-09-14 11:41 ` Marek Paśnikowski
@ 2024-09-17 1:45 ` Felix Lechner via
2024-09-17 15:52 ` Luis Felipe
2024-09-20 18:26 ` Luis Felipe
3 siblings, 1 reply; 7+ messages in thread
From: Felix Lechner via @ 2024-09-17 1:45 UTC (permalink / raw)
To: Luis Felipe, help-guix
Hi Felipe,
On Fri, Sep 13 2024, Luis Felipe wrote:
> (exception match-error (value "match") (value "no matching pattern")
Maybe something was renamed in master that broke the package definition
of luflac-x in your channel?
Sorry I cannot be more helpful.
Kind regards
Felix
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Custom channel is making guix pull fail
2024-09-17 1:45 ` Felix Lechner via
@ 2024-09-17 15:52 ` Luis Felipe
0 siblings, 0 replies; 7+ messages in thread
From: Luis Felipe @ 2024-09-17 15:52 UTC (permalink / raw)
To: Felix Lechner, help-guix
[-- Attachment #1.1.1: Type: text/plain, Size: 915 bytes --]
Hi Felix,
El 17/09/24 a las 1:45, Felix Lechner escribió:
> Hi Felipe,
>
> On Fri, Sep 13 2024, Luis Felipe wrote:
>
>> (exception match-error (value "match") (value "no matching pattern")
> Maybe something was renamed in master that broke the package definition
> of luflac-x in your channel?
Yeah, thanks, that seems to be the case. Actually, "luflac-x" is the
name of the channel, and its derivation fails to build. Apparently, the
problem is in a custom guile build system I defined in the channel. If I
remove the build system and the packages that depend on it, the channel
builds again. So I have to inspect that.
Unfortunately, though, the errors related to using a local URI as the
URL of the channel still remain, even if I remove the custom build
system and the packages that depend on it.
> Sorry I cannot be more helpful.
No problem, thanks for taking a look :)
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2881 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Custom channel is making guix pull fail
2024-09-13 17:14 Custom channel is making guix pull fail Luis Felipe
` (2 preceding siblings ...)
2024-09-17 1:45 ` Felix Lechner via
@ 2024-09-20 18:26 ` Luis Felipe
3 siblings, 0 replies; 7+ messages in thread
From: Luis Felipe @ 2024-09-20 18:26 UTC (permalink / raw)
To: help-guix
[-- Attachment #1.1.1: Type: text/plain, Size: 6451 bytes --]
On 13/09/24 17:14, Luis Felipe wrote:
> Hi,
>
> Could you help me find out what I'm doing wrong here, please? :)
>
> I have a custom channel
> (https://codeberg.org/luis-felipe/guix-channel-x) that had been
> working fine for a very long time, but now running "guix pull" fails
> with the following error:
>
> #+begin_quote
> building /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv...
> -builder for
> `/gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv' failed to
> produce output path
> `/gnu/store/zpmgrl9sz83ininzainjs9kjk25wymsw-luflac-x'
> build of /gnu/store/3aghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv failed
> View build log at
> '/var/log/guix/drvs/3a/ghnb3nbxmgl5f2fsjchz27iwsdz0rl-luflac-x.drv.gz'.
> cannot build derivation
> `/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv': 1 dependencies
> couldn't be built
> guix pull: error: build of
> `/gnu/store/99w71gp2rxzb7g1ij62qag769bryxwzi-profile.drv' failed
> #+end_quote
>
> And the referenced build log reads as follows:
>
> #+begin_quote
> (repl-version 0 1 1)
> guix repl: warning: '%gnu-build-system-modules' is deprecated,
> use '%default-gnu-imported-modules' instead
> WARNING: (guix build guile-easy-build-system):
> imported module (guix build utils) overrides core binding `delete'
> (exception match-error (value "match") (value "no matching pattern")
> (value ()))
> #+end_quote
Problem solved. And for the sake of closure:
Since I couldn't find the exact problem using guix c6ff1d6, I decided to
exclude my channel and upgrade my system (now guix 0feeac3). This time,
importing my build system module in a guix repl consistently reported a
similar problem to the one displayed when performing "guix pull" in my
initial message:
#+begin_src shell
❯ guix repl -L .
scheme@(guix-user)> (use-modules (guix build guile-easy-build-system))
While compiling expression:
Throw to key `match-error' with args `("match" "no matching pattern" ())'.
#+end_src
Great, because that way I could start debugging that module locally.
The problem was in the definition of the standard phases of my
"guile-easy" build system:
#+begin_src scheme
(define %standard-phases
(modify-phases gbs:%standard-phases
(delete 'install-documentation)
(delete 'compress-documentation)
(delete 'delete-info-dir-file)
(delete 'validate-documentation-location)
(add-after 'set-paths 'add-output-to-guile-load-paths
add-output-to-guile-load-paths)
(add-after 'build 'check check)
;; These two below were responsible for the "match-error":
(add-after 'install 'install-scripts install-scripts)
(add-after 'install 'install-info-manual install-info-manual)))
#+end_src
The last two phases, "install-scripts" and "install-info-manual", were
added after the "install" phase, but there is no such phase: The phases
of my "guile-easy" build system inherit from "guile"'s build system
phases (referred to as "gbs:%standard-phases" in the previous code),
which in turn inherit from the "gnu"'s build system phases, but the
guile build system explicitly deletes the "install" phase (among other
phases).
Apparently, in this version of Guix referring to non-existing phases
breaks the code. This wasn't the case in Guix c81ed09, for example,
where I can build packages that use the guile-easy build system just fine.
So, the solution was to change the standard phases definition so that
the faulty phases refer to phases that actually exist:
#+begin_src scheme
(define %standard-phases
(modify-phases gbs:%standard-phases
(delete 'install-documentation)
(delete 'compress-documentation)
(delete 'delete-info-dir-file)
(delete 'validate-documentation-location)
(add-after 'set-paths 'add-output-to-guile-load-paths
add-output-to-guile-load-paths)
(add-after 'build 'check check)
(add-after 'check 'install-scripts install-scripts)
(add-after 'check 'install-info-manual install-info-manual)))
#+end_src
On a side note, building a package that uses my faulty build system in
my new Guix, a useful backtrace is printed, but it seems to me that
there might be a defect in the Guix code there:
#+begin_src shell
❯ guix build -L . guile-documenta
guix build: warning: failed to load '(guix build guile-easy-build-system)':
Backtrace:
In guix/store.scm:
1330:8 19 (call-with-build-handler #<procedure 7f7edc8811e0 at g?> ?)
In guix/scripts/build.scm:
584:2 18 (_)
In srfi/srfi-1.scm:
673:15 17 (append-map _ _ . _)
586:17 16 (map1 ((argument . "guile-documenta") (build-mode . 0) ?))
In guix/scripts/build.scm:
604:31 15 (_ _)
In gnu/packages.scm:
485:2 14 (%find-package "guile-documenta" "guile-documenta" #f)
365:6 13 (find-best-packages-by-name _ _)
295:56 12 (_ "guile-documenta" _)
In unknown file:
11 (force #<promise #<procedure 7f7edc8dc040 at gnu/packag?>)
In gnu/packages.scm:
242:33 10 (fold-packages #<procedure 7f7edc6f35f0 at gnu/package?> ?)
In guix/discovery.scm:
158:11 9 (all-modules ("." ("/gnu/store/03iqzmjsha60m3fk?" . #)) ?)
In srfi/srfi-1.scm:
460:18 8 (fold #<procedure 7f7ed6611860 at guix/discovery.scm:1?> ?)
In guix/discovery.scm:
145:31 7 (_ "." ())
115:5 6 (scheme-modules _ _ #:warn _)
In srfi/srfi-1.scm:
691:23 5 (filter-map #<procedure 7f7ed6611720 at guix/discove?> . #)
In guix/discovery.scm:
123:24 4 (_ . _)
In guix/ui.scm:
482:5 3 (warn-about-load-error "./guix/build/guile-easy-build-?" ?)
In unknown file:
2 (display-error #f #<output: file /dev/pts/1> "match" "?" ?)
In ice-9/boot-9.scm:
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Wrong number of arguments to #<procedure display-error (_ _ _ _ _ _)>
#+end_src
It seems to me that "guix/ui.scm" tries to report more useful
information about the problem loading "guile-easy-build-system" but then
"display-error" complains about not getting the right number of
arguments (?).
Anyways, my channel is working again, problem solved (or so it seems :)).
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2881 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-09-20 18:27 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-13 17:14 Custom channel is making guix pull fail Luis Felipe
2024-09-14 5:41 ` Moisés Simón
2024-09-14 15:27 ` Luis Felipe
2024-09-14 11:41 ` Marek Paśnikowski
2024-09-17 1:45 ` Felix Lechner via
2024-09-17 15:52 ` Luis Felipe
2024-09-20 18:26 ` Luis Felipe
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.