Subject: bug#64360: error: ghc-onetuple: unbound variable

From: Csepp <[email-masked]>
Date: Sat, 30 Dec 2023 03:50:16 +0100

Csepp <[email-masked]> writes:

> Simon Tournier <[email-masked]> writes:
>
>> 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 <[email-masked]> wrote:
>>
>>> $ 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 [email-masked] gnu/pa…> …)
>>> In guix/memoization.scm:
>>>     101:0 16 (_ #<hash-table 23e5c90 0/31> #<package [email-masked]…> …)
>>> 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 [email-masked] gnu/packages…>)
>>> In guix/packages.scm:
>>>   1371:17 11 (supported-package? #<package [email-masked] gnu/pack…> …)
>>> In guix/memoization.scm:
>>>     101:0 10 (_ #<hash-table 23e5c90 0/31> #<package [email-masked].…> …)
>>> 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 [email-masked] 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 [email-masked] 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:
>>
>> 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
>>
>>
>> 1:
>> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/haskell-xyz.scm?id=63660f0febb4aa0d5260791c82dfde15c0df4c79#n15164
>>
>> Cheers,
>> simon
>
> Got an error, but not the same one.
>
> ...
> building /gnu/store/c7vzg80lankn28pmb53lhfclgw8xdnxk-inferior-script.scm.drv...
> building package cache...
> building profile with 1 package...
> hint: Consider passing the `--check' option once to make sure your shell does not clobber environment variables.
>
> Backtrace:
> In ice-9/boot-9.scm:
>    222:29 19 (map1 _)
>    222:29 18 (map1 _)
>    222:29 17 (map1 _)
>    222:29 16 (map1 _)
>    222:29 15 (map1 _)
>    222:29 14 (map1 _)
>    222:29 13 (map1 _)
>    222:29 12 (map1 _)
>    222:17 11 (map1 (((gnu packages tex)) ((gnu packages xml)) ((…)) …))
>   3327:17 10 (resolve-interface (gnu packages tex) #:select _ #:hide …)
> In ice-9/threads.scm:
>     390:8  9 (_ _)
> In ice-9/boot-9.scm:
>   3253:13  8 (_)
> In ice-9/threads.scm:
>     390:8  7 (_ _)
> In ice-9/boot-9.scm:
>   3544:20  6 (_)
>    2836:4  5 (save-module-excursion _)
>   3564:26  4 (_)
> In unknown file:
>            3 (primitive-load-path "gnu/packages/tex" #<procedure 889…>)
> In gnu/packages/tex.scm:
> GC Warning: Failed to expand heap by 8388608 bytes
> ...repeats a bunch of times...
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 65536 bytes
> GC Warning: Out of Memory! Heap size: 2498 MiB. Returning NULL!
> Exception thrown while printing backtrace:
> Out of memory
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> error: license:arphic-1999: unbound variable

And another error with a pull from about an hour ago, this is from
trying to reconfigure.
Pull was offloaded from the i686 netbook to the x86_64 PC.

guix describe:

Generation 21	Dec 30 2023 02:54:01	(current)
  guix f76ca2b
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: f76ca2b0e894c244d5011a32b30dee8fd874e322
  raingloom b528a4a
    repository URL: https://git.sr.ht/~raingloom/guix-packages
    branch: master
    commit: b528a4a906011efb52bc4db916408c5f12f387ec
  nonguix 8956906
    repository URL: https://gitlab.com/nonguix/nonguix.git
    branch: master
    commit: 8956906f6bed6709e71f0c26ed6a3620f40dc487

./pre-inst-env guile --no-auto-compile raingloom/machines.scm

Backtrace:
In ice-9/boot-9.scm:
  1752:10  6 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
           5 (apply-smob/0 #<thunk ed330>)
In ice-9/boot-9.scm:
    724:2  4 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  3 (_ #(#(#<directory (guile-user) df690>)))
In ice-9/boot-9.scm:
   2836:4  2 (save-module-excursion _)
  4388:12  1 (_)
In gnu/services.scm:
    419:6  0 (_)

gnu/services.scm:419:6: error: %modify-services: unbound variable

pre-inst-env just prepends my config repo to the GUILE_LOAD_PATH, this
specific file has some shared definitions for my actual machine configs.
It doesn't do anything weird, no module reflection, etc, just a plain
declarative module.