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
J
J
Jelle Licht wrote on 23 Dec 2019 04:20
(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
T
T
Tobias Geerinckx-Rice wrote on 23 Dec 2019 06:56
(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-----

A
A
Arun Isaac wrote on 23 Dec 2019 07:03
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-----

J
J
Jelle Licht wrote on 23 Dec 2019 14:48
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
C
C
Christopher Baines wrote on 26 Dec 2019 11:41
(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-----

L
L
Ludovic Courtès wrote on 26 Dec 2019 19:18
(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’.
R
R
Ricardo Wurmus wrote on 26 Dec 2019 21:03
(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
R
R
Ricardo Wurmus wrote on 6 Dec 2020 13:27
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
?