#1001833 guix pull throws "match-error"

Package:
guix
Source:
guix
Description:
GNU Guix functional package manager
Submitter:
"alexander barakin (aka sash-kan)"
Date:
2021-12-19 21:21:03 UTC
Severity:
normal
#1001833#5
Date:
2021-12-17 10:30:39 UTC
From:
To:
Dear Maintainer,

i have installed package guix (1.2.0-4).
and try to run guix pull:

[code]
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   b329c21
Backtrace:
           6 (apply-smob/1 #<catch-closure 7faa14873220>)
In ice-9/boot-9.scm:
    705:2  5 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  4 (_ #(#(#<directory (guile-user) 7faa144f0140>)))
In guix/ui.scm:
  2117:12  3 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9  2 (catch _ _ #<procedure 7faa1446a280 at guix/ui.scm:702…> …)
    829:9  1 (catch _ _ #<procedure 7faa1446a298 at guix/ui.scm:842…> …)
    829:9  0 (catch _ _ #<procedure 7faa119b30a8 at guix/scripts/pu…> …)

ice-9/boot-9.scm:829:9: In procedure catch:
Throw to key `match-error' with args `("match" "no matching pattern" (
#:re-export-and-replace (delete)
#:replace ((define-public* . define-public))
#:export (content-hash content-hash? content-hash-algorithm content-hash-value
origin origin? this-origin origin-uri origin-method origin-hash origin-sha256
origin-file-name origin-actual-file-name origin-patches origin-patch-flags
origin-patch-inputs origin-patch-guile origin-snippet origin-modules
base32 base64 package package? this-package package-name package-upstream-name
package-version package-full-name package-source package-build-system
package-arguments package-inputs package-native-inputs package-propagated-inputs
package-outputs package-native-search-paths package-search-paths package-replacement
package-synopsis package-description package-license package-home-page
package-supported-systems package-properties package-location
package-definition-location hidden-package hidden-package? package-superseded
deprecated-package package-field-location this-package-input this-package-native-input
lookup-package-input lookup-package-native-input lookup-package-propagated-input
lookup-package-direct-input prepend replace modify-inputs package-direct-sources
package-transitive-sources package-direct-inputs package-transitive-inputs
package-transitive-target-inputs package-transitive-native-inputs
package-transitive-propagated-inputs package-transitive-native-search-paths
package-transitive-supported-systems package-mapping package-input-rewriting
package-input-rewriting/spec package-source-derivation package-derivation
package-cross-derivation package-output package-grafts package-patched-vulnerabilities
package-with-patches package-with-extra-patches package-with-c-toolchain
package/inherit transitive-input-references %supported-systems %hurd-systems
%cuirass-supported-systems supported-package? &package-error package-error?
package-error-package &package-input-error package-input-error?
package-error-invalid-input &package-cross-build-system-error
package-cross-build-system-error? package->bag bag->derivation bag-direct-inputs
bag-transitive-inputs bag-transitive-host-inputs bag-transitive-build-inputs
bag-transitive-target-inputs package-development-inputs package-closure
default-guile default-guile-derivation set-guile-for-build package-file
package->derivation package->cross-derivation origin->derivation)))'.
[/code]

i was able to work around this error:
[code]
$ guix pull --branch=version-1.3.0
[/code]

but even after that I couldn't get updates from master:
[code]
$ guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
guix pull: error: aborting update of channel 'guix' to commit a9abb75dc87c0fe532905746912a39250d97293f, which is not a descendant of aa34d4d28dfe25ba47d5800d05000fb7221788c0
hint: This could indicate that the channel has been tampered with and is trying to force a roll-back,
preventing you from getting the latest updates.  If you think this is not the case, explicitly
allow non-forward updates.
[/code]

and this command generates exactly the same error as described at the beginning:
$ guix pull --allow-downgrades

as far as i understand, in order for "guix pull" to work,
it is necessary to update the guix and guile* packages.

#1001833#10
Date:
2021-12-17 16:19:56 UTC
From:
To:
...

try with the commit from v1.3.0 (ideally from a fresh install, or maybe
using --allow-downgrades):

  guix pull --commit=a0178d34f582b50e9bdbb0403943129ae5b560ff

and then:

  guix pull

Though it might get you roughly the same issues.

Massive changes were recently merged into guix master, so it wouldn't be
terribly surprising if something incompatible crept in...

I'll try to reproduce the issue, though not sure exactly when I'll get
the chance.


live well,
  vagrant

#1001833#15
Date:
2021-12-19 10:24:09 UTC
From:
To:

#1001833#20
Date:
2021-12-19 18:38:22 UTC
From:
To:
I don't have a stackexchange account or I'd comment there...

The step where you "guix install guix" will always install an older
version of guix than you have through guix pull; that should not be
needed. What were you trying to solve with that step?

Maybe run "guix remove guix" to get back to the version from "guix pull"
and log out and log in again, and see if that helps...


live well,
  vagrant

#1001833#25
Date:
2021-12-19 21:18:21 UTC
From:
To:
Is ~/.config/guix/current/bin in your $PATH? If you log out and log back
in again, /etc/profile.d/guix.sh should add the right variables to your
path. If $PATH does not contain ~/.config/guix/current/bin, as that is
where "guix pull" installs guix.


live well,
  vagrant