error: ghc-onetuple: unbound variable

  • Open
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Csepp
  • Simon Tournier
Owner
unassigned
Submitted by
Csepp
Severity
normal
C
(address . bug-guix@gnu.org)
87ilb5hiec.fsf@riseup.net
I **finally** managed to finish a guix pull on my netbook by offloading
it to my desktop machine, and I tried to build the latest yt-dlp, this
is the error I got:

```
$ guix shell yt-dlp
Backtrace:
In srfi/srfi-1.scm:
586:17 19 (map1 (#<<manifest-entry> name: "yt-dlp" version: "202…>))
In guix/profiles.scm:
1932:19 18 (_ _)
In guix/packages.scm:
1371:17 17 (supported-package? #<package yt-dlp@2023.06.22 gnu/pa…> …)
In guix/memoization.scm:
101:0 16 (_ #<hash-table 23e5c90 0/31> #<package yt-dlp@2023.06…> …)
In guix/packages.scm:
1349:39 15 (_)
1611:16 14 (package->bag _ _ _ #:graft? _)
1715:47 13 (thunk)
In gnu/packages/video.scm:
2615:11 12 (native-inputs #<package yt-dlp@2023.06.22 gnu/packages…>)
In guix/packages.scm:
1371:17 11 (supported-package? #<package pandoc@2.14.0.3 gnu/pack…> …)
In guix/memoization.scm:
101:0 10 (_ #<hash-table 23e5c90 0/31> #<package pandoc@2.14.0.…> …)
In guix/packages.scm:
1349:39 9 (_)
1611:16 8 (package->bag _ _ _ #:graft? _)
1712:48 7 (thunk)
In gnu/packages/haskell-xyz.scm:
9121:35 6 (inputs #<package pandoc@2.14.0.3 gnu/packages/haskell-…>)
In guix/packages.scm:
1424:32 5 (package-closure _ #:system _)
1611:16 4 (package->bag _ _ _ #:graft? _)
1712:48 3 (thunk)
In gnu/packages/haskell-web.scm:
943:18 2 (inputs #<package ghc-aeson@2.0.3.0 gnu/packages/haskel…>)
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:
error: ghc-onetuple: unbound variable
```

Running guix search ghc-onetuple indeed does not turn anything up.
guix search ghc-aeson results in the same error halfway through
outputting the description for ghc-aeson.

I guess someone didn't run make before they pushed their changes?
L
L
Ludovic Courtès wrote on 7 Jul 15:44 +0200
(name . Csepp)(address . raingloom@riseup.net)(address . 64360@debbugs.gnu.org)
87r0pjkf8z.fsf@gnu.org
Hi,

Csepp <raingloom@riseup.net> skribis:

Toggle quote (45 lines)
> I **finally** managed to finish a guix pull on my netbook by offloading
> it to my desktop machine, and I tried to build the latest yt-dlp, this
> is the error I got:
>
> ```
> $ guix shell yt-dlp
> Backtrace:
> In srfi/srfi-1.scm:
> 586:17 19 (map1 (#<<manifest-entry> name: "yt-dlp" version: "202…>))
> In guix/profiles.scm:
> 1932:19 18 (_ _)
> In guix/packages.scm:
> 1371:17 17 (supported-package? #<package yt-dlp@2023.06.22 gnu/pa…> …)
> In guix/memoization.scm:
> 101:0 16 (_ #<hash-table 23e5c90 0/31> #<package yt-dlp@2023.06…> …)
> In guix/packages.scm:
> 1349:39 15 (_)
> 1611:16 14 (package->bag _ _ _ #:graft? _)
> 1715:47 13 (thunk)
> In gnu/packages/video.scm:
> 2615:11 12 (native-inputs #<package yt-dlp@2023.06.22 gnu/packages…>)
> In guix/packages.scm:
> 1371:17 11 (supported-package? #<package pandoc@2.14.0.3 gnu/pack…> …)
> In guix/memoization.scm:
> 101:0 10 (_ #<hash-table 23e5c90 0/31> #<package pandoc@2.14.0.…> …)
> In guix/packages.scm:
> 1349:39 9 (_)
> 1611:16 8 (package->bag _ _ _ #:graft? _)
> 1712:48 7 (thunk)
> In gnu/packages/haskell-xyz.scm:
> 9121:35 6 (inputs #<package pandoc@2.14.0.3 gnu/packages/haskell-…>)
> In guix/packages.scm:
> 1424:32 5 (package-closure _ #:system _)
> 1611:16 4 (package->bag _ _ _ #:graft? _)
> 1712:48 3 (thunk)
> In gnu/packages/haskell-web.scm:
> 943:18 2 (inputs #<package ghc-aeson@2.0.3.0 gnu/packages/haskel…>)
> 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:
> error: ghc-onetuple: unbound variable
> ```

Could you share the output of ‘guix describe’?

I can’t reproduce it here:

Toggle snippet (18 lines)
$ guix describe
Generation 268 Jun 26 2023 00:05:27 (current)
guix 269cfe3
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 269cfe341f242c2b5f37774cb9b1e17d9aa68e2c
guile 896960d
repository URL: https://git.savannah.gnu.org/git/guile.git
branch: main
commit: 896960dadeba7770ebbad97514ec6c4d7f18212d
shepherd d5ed516
repository URL: https://git.savannah.gnu.org/git/shepherd.git
branch: master
commit: d5ed516e736ce473902cc86b5cf4f61f27ebb642
$ guix shell yt-dlp -- yt-dlp --version
2023.06.22

TIA,
Ludo’.
C
(name . Ludovic Courtès)(address . ludo@gnu.org)
87ilavre59.fsf@riseup.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (75 lines)
> Hi,
>
> Csepp <raingloom@riseup.net> skribis:
>
>> I **finally** managed to finish a guix pull on my netbook by offloading
>> it to my desktop machine, and I tried to build the latest yt-dlp, this
>> is the error I got:
>>
>> ```
>> $ guix shell yt-dlp
>> Backtrace:
>> In srfi/srfi-1.scm:
>> 586:17 19 (map1 (#<<manifest-entry> name: "yt-dlp" version: "202…>))
>> In guix/profiles.scm:
>> 1932:19 18 (_ _)
>> In guix/packages.scm:
>> 1371:17 17 (supported-package? #<package yt-dlp@2023.06.22 gnu/pa…> …)
>> In guix/memoization.scm:
>> 101:0 16 (_ #<hash-table 23e5c90 0/31> #<package yt-dlp@2023.06…> …)
>> In guix/packages.scm:
>> 1349:39 15 (_)
>> 1611:16 14 (package->bag _ _ _ #:graft? _)
>> 1715:47 13 (thunk)
>> In gnu/packages/video.scm:
>> 2615:11 12 (native-inputs #<package yt-dlp@2023.06.22 gnu/packages…>)
>> In guix/packages.scm:
>> 1371:17 11 (supported-package? #<package pandoc@2.14.0.3 gnu/pack…> …)
>> In guix/memoization.scm:
>> 101:0 10 (_ #<hash-table 23e5c90 0/31> #<package pandoc@2.14.0.…> …)
>> In guix/packages.scm:
>> 1349:39 9 (_)
>> 1611:16 8 (package->bag _ _ _ #:graft? _)
>> 1712:48 7 (thunk)
>> In gnu/packages/haskell-xyz.scm:
>> 9121:35 6 (inputs #<package pandoc@2.14.0.3 gnu/packages/haskell-…>)
>> In guix/packages.scm:
>> 1424:32 5 (package-closure _ #:system _)
>> 1611:16 4 (package->bag _ _ _ #:graft? _)
>> 1712:48 3 (thunk)
>> In gnu/packages/haskell-web.scm:
>> 943:18 2 (inputs #<package ghc-aeson@2.0.3.0 gnu/packages/haskel…>)
>> 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:
>> error: ghc-onetuple: unbound variable
>> ```
>
> Could you share the output of ‘guix describe’?
>
> I can’t reproduce it here:
>
> --8<---------------cut here---------------start------------->8---
> $ guix describe
> Generation 268 Jun 26 2023 00:05:27 (current)
> guix 269cfe3
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 269cfe341f242c2b5f37774cb9b1e17d9aa68e2c
> guile 896960d
> repository URL: https://git.savannah.gnu.org/git/guile.git
> branch: main
> commit: 896960dadeba7770ebbad97514ec6c4d7f18212d
> shepherd d5ed516
> repository URL: https://git.savannah.gnu.org/git/shepherd.git
> branch: master
> commit: d5ed516e736ce473902cc86b5cf4f61f27ebb642
> $ guix shell yt-dlp -- yt-dlp --version
> 2023.06.22
> --8<---------------cut here---------------end--------------->8---
>
> TIA,
> Ludo’.

I'm not on that machine right now, but this is the guix time-machine
invocation that I tried to reproduce it with:

guix time-machine --system=i686-linux \
--commit=e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5 \
--channels=$HOME/channels.scm -- time-machine --commit=63660f0febb \
--channels=$HOME/channels.scm --system=i686-linux -- repl

So e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5 is the commit I was pulling
from and 63660f0febb is the one I was pulling.

Couldn't reproduce it on my x86_64 machine.

I tried clearing my Guile caches on the i686 machine but that didn't
change anything.
It also happens with a lot of other variables, so much so that guix repl
is also broken.

I have since reconfigured and rebooted the machine too, just to make
sure it wasn't a daemon issue, and that didn't help either.
L
L
Ludovic Courtès wrote on 9 Jul 18:10 +0200
(name . Csepp)(address . raingloom@riseup.net)(address . 64360@debbugs.gnu.org)
871qhhjcbf.fsf@gnu.org
Hi,
n
Csepp <raingloom@riseup.net> skribis:

Toggle quote (13 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi,
>>
>> Csepp <raingloom@riseup.net> skribis:
>>
>>> I **finally** managed to finish a guix pull on my netbook by offloading
>>> it to my desktop machine, and I tried to build the latest yt-dlp, this
>>> is the error I got:
>>>
>>> ```
>>> $ guix shell yt-dlp

[...]

Toggle quote (6 lines)
>>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>>> error: ghc-onetuple: unbound variable
>>> ```
>>
>> Could you share the output of ‘guix describe’?

[...]

Toggle quote (8 lines)
> I'm not on that machine right now, but this is the guix time-machine
> invocation that I tried to reproduce it with:
>
> guix time-machine --system=i686-linux \
> --commit=e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5 \
> --channels=$HOME/channels.scm -- time-machine --commit=63660f0febb \
> --channels=$HOME/channels.scm --system=i686-linux -- repl

That’s quite different from the ‘guix shell yt-dlp’ we started with
though. :-)

Also, it very much depends on what ‘channels.scm’ contains. ‘guix
time-machine’ does not support ‘--system’, but on x86_64-linux I get:

Toggle snippet (4 lines)
$ guix time-machine --commit=63660f0febb -- shell yt-dlp -- yt-dlp --version
2023.06.22

I ran out of disk space (and out of time :-)) while running:

guix time-machine --commit=63660f0febb -- shell \
--rebuild-cache -s i686-linux yt-dlp -- yt-dlp --version

Anyway, it could be a problem with a channel other than ‘guix’, we can’t
tell so far. Please let us know when you have the output of ‘guix
describe’ on that machine.

Ludo’.
C
(name . Ludovic Courtès)(address . ludo@gnu.org)
875y6t107z.fsf@riseup.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (57 lines)
> Hi,
> n
> Csepp <raingloom@riseup.net> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>> Hi,
>>>
>>> Csepp <raingloom@riseup.net> skribis:
>>>
>>>> I **finally** managed to finish a guix pull on my netbook by offloading
>>>> it to my desktop machine, and I tried to build the latest yt-dlp, this
>>>> is the error I got:
>>>>
>>>> ```
>>>> $ guix shell yt-dlp
>
> [...]
>
>>>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>>>> error: ghc-onetuple: unbound variable
>>>> ```
>>>
>>> Could you share the output of ‘guix describe’?
>
> [...]
>
>> I'm not on that machine right now, but this is the guix time-machine
>> invocation that I tried to reproduce it with:
>>
>> guix time-machine --system=i686-linux \
>> --commit=e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5 \
>> --channels=$HOME/channels.scm -- time-machine --commit=63660f0febb \
>> --channels=$HOME/channels.scm --system=i686-linux -- repl
>
> That’s quite different from the ‘guix shell yt-dlp’ we started with
> though. :-)
>
> Also, it very much depends on what ‘channels.scm’ contains. ‘guix
> time-machine’ does not support ‘--system’, but on x86_64-linux I get:
>
> --8<---------------cut here---------------start------------->8---
> $ guix time-machine --commit=63660f0febb -- shell yt-dlp -- yt-dlp --version
> 2023.06.22
> --8<---------------cut here---------------end--------------->8---
>
> I ran out of disk space (and out of time :-)) while running:
>
> guix time-machine --commit=63660f0febb -- shell \
> --rebuild-cache -s i686-linux yt-dlp -- yt-dlp --version
>
> Anyway, it could be a problem with a channel other than ‘guix’, we can’t
> tell so far. Please let us know when you have the output of ‘guix
> describe’ on that machine.
>
> Ludo’.

I have no channels configured other than the default one using
channel-with-substitutes-available, because it's a netbook we're talking
about.
On the x86_64 machine I was not using channel-with-substitues-available.
C
(name . Ludovic Courtès)(address . ludo@gnu.org)
87wmz4y6j2.fsf@riseup.net
Csepp <raingloom@riseup.net> writes:

Toggle quote (64 lines)
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi,
>> n
>> Csepp <raingloom@riseup.net> skribis:
>>
>>> Ludovic Courtès <ludo@gnu.org> writes:
>>>
>>>> Hi,
>>>>
>>>> Csepp <raingloom@riseup.net> skribis:
>>>>
>>>>> I **finally** managed to finish a guix pull on my netbook by offloading
>>>>> it to my desktop machine, and I tried to build the latest yt-dlp, this
>>>>> is the error I got:
>>>>>
>>>>> ```
>>>>> $ guix shell yt-dlp
>>
>> [...]
>>
>>>>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>>>>> error: ghc-onetuple: unbound variable
>>>>> ```
>>>>
>>>> Could you share the output of ‘guix describe’?
>>
>> [...]
>>
>>> I'm not on that machine right now, but this is the guix time-machine
>>> invocation that I tried to reproduce it with:
>>>
>>> guix time-machine --system=i686-linux \
>>> --commit=e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5 \
>>> --channels=$HOME/channels.scm -- time-machine --commit=63660f0febb \
>>> --channels=$HOME/channels.scm --system=i686-linux -- repl
>>
>> That’s quite different from the ‘guix shell yt-dlp’ we started with
>> though. :-)
>>
>> Also, it very much depends on what ‘channels.scm’ contains. ‘guix
>> time-machine’ does not support ‘--system’, but on x86_64-linux I get:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ guix time-machine --commit=63660f0febb -- shell yt-dlp -- yt-dlp --version
>> 2023.06.22
>> --8<---------------cut here---------------end--------------->8---
>>
>> I ran out of disk space (and out of time :-)) while running:
>>
>> guix time-machine --commit=63660f0febb -- shell \
>> --rebuild-cache -s i686-linux yt-dlp -- yt-dlp --version
>>
>> Anyway, it could be a problem with a channel other than ‘guix’, we can’t
>> tell so far. Please let us know when you have the output of ‘guix
>> describe’ on that machine.
>>
>> Ludo’.
>
> I have no channels configured other than the default one using
> channel-with-substitutes-available, because it's a netbook we're talking
> about.
> On the x86_64 machine I was not using channel-with-substitues-available.

Here is the output of guix pull --list-generations.
Attachment: generations.log
L
L
Ludovic Courtès wrote on 14 Jul 15:28 +0200
(name . Csepp)(address . raingloom@riseup.net)(address . 64360@debbugs.gnu.org)
87ilamwrjd.fsf@gnu.org
Hi,

Csepp <raingloom@riseup.net> skribis:

Toggle quote (5 lines)
> Generation 22 Jun 30 2023 01:27:38
> guix 63660f0
> repository URL: https://git.savannah.gnu.org/git/guix.git
> commit: 63660f0febb4aa0d5260791c82dfde15c0df4c79

So is this the one for which ‘guix shell yt-dlp’ triggered the bug you
initially reported?

Ludo’.
C
(name . Ludovic Courtès)(address . ludo@gnu.org)
87o7kemikf.fsf@riseup.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (14 lines)
> Hi,
>
> Csepp <raingloom@riseup.net> skribis:
>
>> Generation 22 Jun 30 2023 01:27:38
>> guix 63660f0
>> repository URL: https://git.savannah.gnu.org/git/guix.git
>> commit: 63660f0febb4aa0d5260791c82dfde15c0df4c79
>
> So is this the one for which ‘guix shell yt-dlp’ triggered the bug you
> initially reported?
>
> Ludo’.

Yup!
S
S
Simon Tournier wrote 5 days ago
(name . Csepp)(address . raingloom@riseup.net)(address . 64360@debbugs.gnu.org)
87zfz3ciup.fsf@gmail.com
Hi,

Could you confirm on i686 native machine that you are able to reproduce
the error with:

$ guix time-machine --commit= 63660f0 -- shell yt-dlp

?


On Fri, 30 Jun 2023 at 02:56, Csepp <raingloom@riseup.net> wrote:

Toggle quote (43 lines)
> $ guix shell yt-dlp
> Backtrace:
> In srfi/srfi-1.scm:
> 586:17 19 (map1 (#<<manifest-entry> name: "yt-dlp" version: "202…>))
> In guix/profiles.scm:
> 1932:19 18 (_ _)
> In guix/packages.scm:
> 1371:17 17 (supported-package? #<package yt-dlp@2023.06.22 gnu/pa…> …)
> In guix/memoization.scm:
> 101:0 16 (_ #<hash-table 23e5c90 0/31> #<package yt-dlp@2023.06…> …)
> In guix/packages.scm:
> 1349:39 15 (_)
> 1611:16 14 (package->bag _ _ _ #:graft? _)
> 1715:47 13 (thunk)
> In gnu/packages/video.scm:
> 2615:11 12 (native-inputs #<package yt-dlp@2023.06.22 gnu/packages…>)
> In guix/packages.scm:
> 1371:17 11 (supported-package? #<package pandoc@2.14.0.3 gnu/pack…> …)
> In guix/memoization.scm:
> 101:0 10 (_ #<hash-table 23e5c90 0/31> #<package pandoc@2.14.0.…> …)
> In guix/packages.scm:
> 1349:39 9 (_)
> 1611:16 8 (package->bag _ _ _ #:graft? _)
> 1712:48 7 (thunk)
> In gnu/packages/haskell-xyz.scm:
> 9121:35 6 (inputs #<package pandoc@2.14.0.3 gnu/packages/haskell-…>)
> In guix/packages.scm:
> 1424:32 5 (package-closure _ #:system _)
> 1611:16 4 (package->bag _ _ _ #:graft? _)
> 1712:48 3 (thunk)
> In gnu/packages/haskell-web.scm:
> 943:18 2 (inputs #<package ghc-aeson@2.0.3.0 gnu/packages/haskel…>)
> 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:
> error: ghc-onetuple: unbound variable

> Running guix search ghc-onetuple indeed does not turn anything up.
> guix search ghc-aeson results in the same error halfway through
> outputting the description for ghc-aeson.

The package ghc-onetuple is defined. As far I can read, it is as the
same place since 49a320aaa6fb4c20d6b30c56c35a8c7ffceed822:

AuthorDate: Sun Jan 15 10:09:44 2023 +0100
CommitDate: Sun Feb 26 10:26:07 2023 +0100

And in this report speaks elsewhere about
63660f0febb4aa0d5260791c82dfde15c0df4c79, which comes after:

AuthorDate: Tue Jun 27 15:43:27 2023 -0400
CommitDate: Tue Jun 27 15:43:27 2023 -0400

For instance, see [1]. Therefore, I do not think the issue comes from
that. Running,

$ guix time-machine --commit= 63660f0 -- shell -s i686-linux yt-dlp

I get the error:

build of /gnu/store/n2yl83p37j9mazjh58d5fxixjiq188px-ghc-base64-0.4.2.4.drv failed

and the message reads:

Toggle snippet (14 lines)
starting phase `check'
running "runhaskell Setup.hs" with command "test" and parameters ()
Running 1 test suites...
Test suite tasty: RUNNING...

Test suite tasty: FAIL
Test suite logged to: dist/test/base64-0.4.2.4-tasty.log
0 of 1 test suites (0 of 1 test cases) passed.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "runhaskell" arguments: ("-package-db=/tmp/guix-build-ghc-base64-0.4.2.4.drv-0/package.conf.d" "Setup.hs" "test") exit-status: 1 term-signal: #f stop-signal: #f>
phase `check' failed after 0.3 seconds


?