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

From: Csepp <[email-masked]>
Date: Sat, 30 Dec 2023 04:08:55 +0100

Csepp <[email-masked]> writes:

> 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.

Oh crap, it wasn't actually declarative, I was using use-modules.
Sorry, it's pretty late.
After fixing some other errors, it builds, or well, at least the Guile
code is successfully loaded.
Whether the reconfigure will succeed is yet to be determined.