Issue with guile-email: unbound variable

  • Done
  • quality assurance status badge
Details
6 participants
  • Arun Isaac
  • Jelle Licht
  • Ludovic Courtès
  • Christopher Baines
  • Tobias Geerinckx-Rice
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Jelle Licht
Severity
normal

Debbugs page

Jelle Licht wrote 5 years ago
(address . bug-guix@gnu.org)
87eewvpw2h.fsf@jlicht.xyz
Hey guix,

Pretty recently, it seems something weird is happening when playing with
guix on the REPL.

On master, 5a947e118fb72b8fb1fd0c8d0b783fc7cde0c461:

Toggle snippet (6 lines)
$ guix repl
> (use-modules (gnu packages gnupg))
While compiling expression:
error: guile-email: unbound variable.

Loading up the `(gnu packages mail)' module first seems to work around
the compilation error. My best guess is that this has something to do
with a circular reference between guile modules, but I am not certain on
how to easily debug (and fix) this.

- Jelle
Tobias Geerinckx-Rice wrote 5 years ago
(address . 38715@debbugs.gnu.org)(name . Jelle Licht)(address . jlicht@fsfe.org)
878sn3lh58.fsf@nckx
Jelle,

Jelle Licht 写道:
Toggle quote (17 lines)
> Hey guix,
>
> Pretty recently, it seems something weird is happening when
> playing with
> guix on the REPL.
>
> On master, 5a947e118fb72b8fb1fd0c8d0b783fc7cde0c461:
>
> --8<---------------cut
> here---------------start------------->8---
> $ guix repl
>> (use-modules (gnu packages gnupg))
> While compiling expression:
> error: guile-email: unbound variable.
> --8<---------------cut
> here---------------end--------------->8---

Ah! Glad someone else is seeing this too. Below's the full
backtrace if it's of interest to anyone.

Kind regards,

T G-R

Backtrace:
In ice-9/boot-9.scm:
222:29 19 (map1 (((gnu packages imagemagick)) ((gnu packages
w3m)) ((gnu packages wget)) ((gnu packages autotools)) ((gnu
packages base)) ((gnu packages compression)) ((gnu packages
node)) ((gnu packages xml)) ((# …)) …))
222:29 18 (map1 (((gnu packages w3m)) ((gnu packages wget))
((gnu packages autotools)) ((gnu packages base)) ((gnu packages
compression)) ((gnu packages node)) ((gnu packages xml)) ((gnu
packages glib)) ((gnu # acl)) # …))
222:29 17 (map1 (((gnu packages wget)) ((gnu packages
autotools)) ((gnu packages base)) ((gnu packages compression))
((gnu packages node)) ((gnu packages xml)) ((gnu packages
glib)) ((gnu packages acl)) ((gnu # mail)) …))
222:29 16 (map1 (((gnu packages autotools)) ((gnu packages
base)) ((gnu packages compression)) ((gnu packages node)) ((gnu
packages xml)) ((gnu packages glib)) ((gnu packages acl)) ((gnu
packages mail)) ((gnu # #)) (#) …))
222:29 15 (map1 (((gnu packages base)) ((gnu packages
compression)) ((gnu packages node)) ((gnu packages xml)) ((gnu
packages glib)) ((gnu packages acl)) ((gnu packages mail))
((gnu packages messaging)) ((gnu # #)) (#) …))
222:29 14 (map1 (((gnu packages compression)) ((gnu packages
node)) ((gnu packages xml)) ((gnu packages glib)) ((gnu
packages acl)) ((gnu packages mail)) ((gnu packages messaging))
((gnu packages package-management)) # …))
222:29 13 (map1 (((gnu packages node)) ((gnu packages xml))
((gnu packages glib)) ((gnu packages acl)) ((gnu packages
mail)) ((gnu packages messaging)) ((gnu packages
package-management)) ((gnu packages perl)) ((# …)) …))
222:29 12 (map1 (((gnu packages xml)) ((gnu packages glib))
((gnu packages acl)) ((gnu packages mail)) ((gnu packages
messaging)) ((gnu packages package-management)) ((gnu packages
perl)) ((gnu packages pdf)) ((gnu …)) …))
222:29 11 (map1 (((gnu packages glib)) ((gnu packages acl))
((gnu packages mail)) ((gnu packages messaging)) ((gnu packages
package-management)) ((gnu packages perl)) ((gnu packages pdf))
((gnu packages scheme)) ((…)) …))
222:29 10 (map1 (((gnu packages acl)) ((gnu packages mail))
((gnu packages messaging)) ((gnu packages package-management))
((gnu packages perl)) ((gnu packages pdf)) ((gnu packages
scheme)) ((gnu packages speech)) (#) …))
222:17 9 (map1 (((gnu packages mail)) ((gnu packages
messaging)) ((gnu packages package-management)) ((gnu packages
perl)) ((gnu packages pdf)) ((gnu packages scheme)) ((gnu
packages speech)) ((gnu packages xiph)) (#) …))
2800:17 8 (resolve-interface (gnu packages mail) #:select _
#:hide _ #:prefix _ #:renamer _ #:version _)
In ice-9/threads.scm:
390:8 7 (_ _)
In ice-9/boot-9.scm:
2726:13 6 (_)
In ice-9/threads.scm:
390:8 5 (_ _)
In ice-9/boot-9.scm:
2994:20 4 (_)
2312:4 3 (save-module-excursion #<procedure 748881fa1db0 at
ice-9/boot-9.scm:2995:21 ()>)
3014:26 2 (_)
In unknown file:
1 (primitive-load-path "gnu/packages/mail" #<procedure
748881c88280 at ice-9/boot-9.scm:3001:37 ()>)
In gnu/packages/mail.scm:
779:28 0 (_)

gnu/packages/mail.scm:779:28: error: guile-email: unbound variable
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl4AVvMACgkQ2Imw8BjF
STzFxBAAs5dIZsmTvFCMqAj5eEvfRTrP4NAgNR8KxE6HBBR3m6OTuhENcvEME4E5
GwaKTFJE1d066Cq+dulfTGCl8nEn+quRJfDE97exiWcUvtZxfS+sL7Jxm6NvSWbH
Hy8Gbkqs5g8q7IL7pH8OSHIaArz8aLCri9/hYjdZ8Ugs+crBvdY0r0sFRegBdJcO
2bFaPdb651zlxF3BBr6YGb7f4xfACJjl9Bc6FgMOjbTQUuwKe9CjfaQDHvnx+tLw
1Tto2+W09rKkus9s+zCQ57s0GqR/TXmoPbPbjf8Vui0CtdmmUurOxJGVgQ2Qw7wS
bn9aL+fJGZx3ggytq+gO2RexYM0dOLICWFvbd8CXwkdcJhgOAe+6SzzjczV5UDpC
6Qpuokejvw8OKzVMGsOIr2ESdz+DF1455s/tXQCeNJdPLzxkoLIi39KDgTaXZQ8+
VAa8CA1dxVXv76G/xXKb9LedWMVUySfeakHiipzZwOIIHbIdnSQzEMg12PU3NfPl
d8WquDKWOaVbqnlOmFzs559/1Vaf5J4t56VboTp5EF5MITT0w51gSdkxA68D5gzB
zvveGCvxBDqL/dDfwwrDsmdSG3QZnVl0xQRPFTUQ4NLMSA+HsDPoCtCNPlKX2mW7
8v4qjcU+LIClWQd30rR7rcFpDKmyj4LdQ5QJzmGAfaa40+xSTK0=
=09Fg
-----END PGP SIGNATURE-----

Arun Isaac wrote 5 years ago
cu77e2nk28m.fsf@systemreboot.net
Toggle quote (4 lines)
> My best guess is that this has something to do with a circular
> reference between guile modules, but I am not certain on how to easily
> debug (and fix) this.

I updated the guile-email package two days ago. I hope that is not what
introduced this problem, and I don't see how it could have. Even `guix
build guile-email` on the terminal fails with a guile-email unbound
variable error.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl4AWKkACgkQLiXui2GA
K7Os1ggAvuPAb+E7orZMgwv0kOzurt1/UlbJqoE8IXLalmoIqGKBCw6ACogh7f8p
rjYgOEWAqN4C8gOqHxw1wI1hMF6SqgeRwN1uf8fdEZNw70eAva1hx1RYIkVJnt66
Erx3SSpt5Fz6H0Jj/Br6/ZYOrn05vjhVh6pniEz80YjBLUUGC4hUU4aCSOkAP5dJ
WqXn9dZHU5XYy1VamAE2TlXqhazUm8IB2jdT3Pw+cW8x7Vp77B2LUB0NEvQFgZng
H7rTq0dc/x3Ligx8dABQl6It4r434ruMsS4P1ypJPTaLpLNuOhr7qR7R7x25qrz0
19ljaD3uW37MyxRWVUQjTnzmXJtVeQ==
=Hc6e
-----END PGP SIGNATURE-----

Jelle Licht wrote 5 years ago
87a77jp2yj.fsf@jlicht.xyz
Arun Isaac <arunisaac@systemreboot.net> writes:

Toggle quote (9 lines)
>> My best guess is that this has something to do with a circular
>> reference between guile modules, but I am not certain on how to easily
>> debug (and fix) this.
>
> I updated the guile-email package two days ago. I hope that is not what
> introduced this problem, and I don't see how it could have. Even `guix
> build guile-email` on the terminal fails with a guile-email unbound
> variable error.

I do not think it was that commit, as I found the offending commit:
c7b2b539802eaa3f969e212c98eb671a1a75e9f3

This is the commit that adds mumimu to gnu/packages/mail.scm, as well as
to the inputs of mumi. Reverting this commit (at least) solves the issue
I had in the first mail.

Could it be that the reference to guile-email in the version field of
mumimu created this issue?
Toggle snippet (3 lines)
(version (git-version (package-version guile-email) revision commit))

- Jelle
Christopher Baines wrote 5 years ago
(address . 38715@debbugs.gnu.org)
874kxns726.fsf@cbaines.net
Jelle Licht <jlicht@fsfe.org> writes:

Toggle quote (24 lines)
> Arun Isaac <arunisaac@systemreboot.net> writes:
>
>>> My best guess is that this has something to do with a circular
>>> reference between guile modules, but I am not certain on how to easily
>>> debug (and fix) this.
>>
>> I updated the guile-email package two days ago. I hope that is not what
>> introduced this problem, and I don't see how it could have. Even `guix
>> build guile-email` on the terminal fails with a guile-email unbound
>> variable error.
>
> I do not think it was that commit, as I found the offending commit:
> c7b2b539802eaa3f969e212c98eb671a1a75e9f3
>
> This is the commit that adds mumimu to gnu/packages/mail.scm, as well as
> to the inputs of mumi. Reverting this commit (at least) solves the issue
> I had in the first mail.
>
> Could it be that the reference to guile-email in the version field of
> mumimu created this issue?
> --8<---------------cut here---------------start------------->8---
> (version (git-version (package-version guile-email) revision commit))
> --8<---------------cut here---------------end--------------->8---

I also spotted this. It looks to me sort of like a copy/paste error, I'm
not sure why this variant of mu would take the version of the
guile-email package.

Anyway, to work around this issue I've pushed [1], which just replaces
the reference with the current value.

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl4EjkFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdqcBAAlrN3xus+bCt0lfDpcY6lw4cSy9TZqotj4aB5t685Sij5K3bF/m56lG8n
yghesCOhKr1X50V8DLNZZXZFQfZ4JMC4KyhpwBt8iWq5ai6+0Pi4TAAq7l1KN/RZ
cHX5Oq8jSA4SJh9WSJUpUf7/ApXq6gGXj5xZCcMGPJjfzRfQi2zFtIVxy/ZhL+pK
JWWU63wbs/LoU2/JCOB4UyziuarMoqoQLTLuZ0mzjCmx7OpiGJyqMi8YRPTWShcq
wIEAaQRrYvlAQYoSm8FY01cO3McH78K2D12nZ4nt2lV3Po1gdNJVcrPNOrzsz8bY
+/58dK2zeU8RrEzMb9K1PMoWJR/ERpsT2mIPUyIKEhjurf+UXHadGF08ZZ3FsJBI
ziyF93BdhdGs/CQAHwhYPESXmTaaF47CiaFzJit39e4YFXI69Z0kVtimZUZf9GwF
3T0g1fbu4pzxB0TMLDPeD4QLKz9nsBrn+947nFskRQjLo3beBjP19oMAtxBEqeXg
uKwokBGBtkT2za1qj7M3qLp5R8izwh+mOg8026QJHcBo/ShhYACOp7GF1JUOGPj+
9Jz3lsdkBPLnl83dplt3215zbFFTIKP1yEQyFLSAfMMdIQjdWcaAlxnVEM43grq0
42HKhsd7QZB+BSL5/PnvX1TElvpTxtm9Kgepj3tsoR/UfNRT0Sk=
=VzUQ
-----END PGP SIGNATURE-----

Ludovic Courtès wrote 5 years ago
(name . Christopher Baines)(address . mail@cbaines.net)
87mubfgdd2.fsf@gnu.org
Hi Chris,

Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (2 lines)
> Jelle Licht <jlicht@fsfe.org> writes:

[...]

Toggle quote (22 lines)
>> I do not think it was that commit, as I found the offending commit:
>> c7b2b539802eaa3f969e212c98eb671a1a75e9f3
>>
>> This is the commit that adds mumimu to gnu/packages/mail.scm, as well as
>> to the inputs of mumi. Reverting this commit (at least) solves the issue
>> I had in the first mail.
>>
>> Could it be that the reference to guile-email in the version field of
>> mumimu created this issue?
>> --8<---------------cut here---------------start------------->8---
>> (version (git-version (package-version guile-email) revision commit))
>> --8<---------------cut here---------------end--------------->8---
>
> I also spotted this. It looks to me sort of like a copy/paste error, I'm
> not sure why this variant of mu would take the version of the
> guile-email package.
>
> Anyway, to work around this issue I've pushed [1], which just replaces
> the reference with the current value.
>
> 1: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=03460d2bd327815535801e3780c224f91af9b445

My bad! I copied the definition of ‘mumimu’ from Mumi itself and didn’t
pay enough attention.

The version number makes little sense anyway. You did the right thing,
thank you, and apologies for the breakage!

Ludo’.
Ricardo Wurmus wrote 5 years ago
(name . Christopher Baines)(address . mail@cbaines.net)
87tv5monve.fsf@elephly.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (10 lines)
>> Could it be that the reference to guile-email in the version field of
>> mumimu created this issue?
>> --8<---------------cut here---------------start------------->8---
>> (version (git-version (package-version guile-email) revision commit))
>> --8<---------------cut here---------------end--------------->8---
>
> I also spotted this. It looks to me sort of like a copy/paste error, I'm
> not sure why this variant of mu would take the version of the
> guile-email package.

This is a copy/paste error. The origin of this expression is the
guix.scm file of mumi. Ludo then wrote a mumi service and copied the
definition of mumimu from that guix.scm file.

(package-version guile-email) is obviously wrong. It should have been
(package-version mu), because mumimu is a fork of mu.

--
Ricardo
Ricardo Wurmus wrote 4 years ago
87zh2r5dc8.fsf@elephly.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (19 lines)
> Christopher Baines <mail@cbaines.net> writes:
>
>>> Could it be that the reference to guile-email in the version field of
>>> mumimu created this issue?
>>> --8<---------------cut here---------------start------------->8---
>>> (version (git-version (package-version guile-email) revision commit))
>>> --8<---------------cut here---------------end--------------->8---
>>
>> I also spotted this. It looks to me sort of like a copy/paste error, I'm
>> not sure why this variant of mu would take the version of the
>> guile-email package.
>
> This is a copy/paste error. The origin of this expression is the
> guix.scm file of mumi. Ludo then wrote a mumi service and copied the
> definition of mumimu from that guix.scm file.
>
> (package-version guile-email) is obviously wrong. It should have been
> (package-version mu), because mumimu is a fork of mu.

I’m closing this now as mumi no longer depends on a fork of mu; instead
it uses guile-xapian with its own database.

--
Ricardo
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 38715
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help