Emacs-Guix broken due to ABI incompatibility

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Amade Nemes Gmail
Owner
unassigned
Submitted by
Amade Nemes Gmail
Severity
normal
A
A
Amade Nemes Gmail wrote on 6 Dec 2022 18:38
emacs-guix
(address . bug-guix@gnu.org)
87mt80zaj9.fsf@gmail.com
Hello Guix Folks,

I've updated my guix version today and found that most emacs-guix
interactive commands no longer work. For example, guix-packages-by-name throws:

guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure package-license: Wrong type argument: #<package abduco@0.6 gnu/packages/abduco.scm:28 7f45f9d11f20>

similarly, guix-all-services throws:

guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure service-type-location: Wrong type argument: #<service-type account 7f45de40d7c0>

finally, guix-installed-system-packages throws:

guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure manifest-entry-name: Wrong type argument: #<<manifest-entry> name: "nss-certs" version: "3.81" output: "out" item: "/gnu/store/1klwvqm3njp070h982ydcix1gzf2zmdl-nss-certs-3.81" dependencies: () search-paths: () parent: #<promise #<procedure 7f45f99873c8 at guix/profiles.scm:576:57 ()>> properties: ()>

My guix version if following:

$ guix describe
Generation 18 Dec 06 2022 14:13:59 (current)
guix 4413512
branch: master
commit: 44135122930c8175c6a7a1b4af5b3604bbf73bf6

I haven't made any modifications to the standard configuration of
emacs-guix. Thanks for your work!

Best,
Amade
L
L
Ludovic Courtès wrote on 7 Dec 2022 18:49
(name . Amade Nemes Gmail)(address . nemesamade@gmail.com)(address . 59864@debbugs.gnu.org)
87k033hznr.fsf@gnu.org
Hi,

Amade Nemes Gmail <nemesamade@gmail.com> skribis:

Toggle quote (6 lines)
> I've updated my guix version today and found that most emacs-guix
> interactive commands no longer work. For example, guix-packages-by-name throws:
>
> guix-geiser-eval: Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure package-license: Wrong type argument: #<package abduco@0.6 gnu/packages/abduco.scm:28 7f45f9d11f20>

I think this is caused by an ABI incompatibility: the ‘guix’ package is
currently at 1.4.0rc1, which doesn’t have the change made in:


However, current ‘master’ does have this change.

The ‘emacs-guix’ package is built against the ‘guix’ package; it has
inlined calls like (package-name p) to something like:

Toggle snippet (12 lines)
scheme@(guile-user)> ,optimize (package-name p)
$8 = (let ((s p))
(if (eq? (struct-vtable s)
(@@ (guix packages) <package>))
(struct-ref s 0)
(throw 'wrong-type-arg
'package-name
"Wrong type argument: ~S"
(list s)
(list s))))

But on ‘master’, <package> is a macro, not a record type descriptor;
thus, the (eq? …) expression is always false.

I’ll fix this by upgrading the ‘guix’ package and/or merging the (guix
records) bit in the ‘version-1.4.0’ branch.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 7 Dec 2022 18:50
control message for bug #59864
(address . control@debbugs.gnu.org)
87ilinhzn5.fsf@gnu.org
retitle 59864 Emacs-Guix broken due to ABI incompatibility
quit
L
L
Ludovic Courtès wrote on 8 Dec 2022 00:45
Re: bug#59864: emacs-guix
(name . Amade Nemes Gmail)(address . nemesamade@gmail.com)(address . 59864-done@debbugs.gnu.org)
87edtaixrl.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (3 lines)
> I’ll fix this by upgrading the ‘guix’ package and/or merging the (guix
> records) bit in the ‘version-1.4.0’ branch.

Done in 81191e3410cc00c6438f532599dd0b96d521982f.

Ludo’.
Closed
A
A
Amade Nemes Gmail wrote on 8 Dec 2022 10:31
Re: bug#59864: closed (Re: bug#59864: emacs-guix )
(address . 59864@debbugs.gnu.org)
87k032me6f.fsf@gmail.com
Hi Ludo,

Thanks for the quick reply! Unfortunately I'm still getting the same
errors after pulling in the latest guix. Here's my emacs-guix package:


amade@swift ~$ guix package --show=emacs-guix
name: emacs-guix
version: 0.5.2-6.cf5b7a4
outputs:
+ out: everything
systems: x86_64-linux i686-linux
dependencies: autoconf@2.69 automake@1.16.3 emacs-bui@1.2.1 emacs-dash@2.19.1 emacs-edit-indirect@0.1.10 emacs-geiser-guile@0.28.1 emacs-geiser@0.28.1 emacs-magit-popup@2.13.3 emacs-minimal@28.2
+ guile-gcrypt@0.4.0 guile@3.0.8 guix@1.4.0rc1-1.9ccc94a pkg-config@0.29.2 texinfo@6.7
location: gnu/packages/emacs-xyz.scm:4346:4
license: GPL 3+
synopsis: Emacs interface for GNU Guix
description: Emacs-Guix provides a visual interface, tools and features for the GNU Guix package manager. Particularly, it allows you to do various package management tasks from Emacs. To begin with, run `M-x
+ guix-about' or `M-x guix-help' command.


As you can see it's depending on the updated guix@1.4.0rc1-1.9ccc94a,
however the errors persist. Let me know I've misunderstood something,
still quite new to guix:)

Best,
Amade
A
A
Amade Nemes Gmail wrote on 9 Dec 2022 11:01
(address . 59864@debbugs.gnu.org)
87o7scx57n.fsf@gmail.com
False alarm, is working correctly today. Not sure why it was not working
previously. I guess I skipped the tried and tested "have you tried
turning it off and on again?" troubleshooting step:)

Amade Nemes Gmail <nemesamade@gmail.com> writes:

Toggle quote (33 lines)
> Hi Ludo,
>
> Thanks for the quick reply! Unfortunately I'm still getting the same
> errors after pulling in the latest guix. Here's my emacs-guix package:
>
>
> amade@swift ~$ guix package --show=emacs-guix
> name: emacs-guix
> version: 0.5.2-6.cf5b7a4
> outputs:
> + out: everything
> systems: x86_64-linux i686-linux
> dependencies: autoconf@2.69 automake@1.16.3 emacs-bui@1.2.1
> emacs-dash@2.19.1 emacs-edit-indirect@0.1.10 emacs-geiser-guile@0.28.1
> emacs-geiser@0.28.1 emacs-magit-popup@2.13.3 emacs-minimal@28.2
> + guile-gcrypt@0.4.0 guile@3.0.8 guix@1.4.0rc1-1.9ccc94a pkg-config@0.29.2 texinfo@6.7
> location: gnu/packages/emacs-xyz.scm:4346:4
> homepage: https://guix.gnu.org
> license: GPL 3+
> synopsis: Emacs interface for GNU Guix
> description: Emacs-Guix provides a visual interface, tools and
> features for the GNU Guix package manager. Particularly, it allows
> you to do various package management tasks from Emacs. To begin with,
> run `M-x
> + guix-about' or `M-x guix-help' command.
>
>
> As you can see it's depending on the updated guix@1.4.0rc1-1.9ccc94a,
> however the errors persist. Let me know I've misunderstood something,
> still quite new to guix:)
>
> Best,
> Amade
?
Your comment

This issue is archived.

To comment on this conversation send an email to 59864@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 59864
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch