Subject: bug#42047: [PATCH v2] guix: gc: Support for the Hurd.

From: Ludovic Courtès <[email-masked]>
Date: Sun, 28 Jun 2020 16:31:24 +0200

Hi,

Jan Nieuwenhuizen <[email-masked]> skribis:

> I'm really puzzled here.  This
>
>   (append-map rhs-file-names
>               (split-on-nul
>                (catch #t ;;'system-error
>                  (lambda _
>                    (call-with-input-file environ
>                      get-string-all))
>                  (lambda args
>                    (format (current-error-port) "KETS: args=~s\n" args)
>                    (format (current-error-port) "sys: ~s\n" (system-error-errno args))
>                    ""))))
>
>
> gives
>
> KETS: args=(r6rs:exception #<r6rs:record:&raise-object-wrapper>)

Ah yes, it’s really an R6RS condition here, not 'system-error, because
we’re using ‘get-string-all’ (from R6RS).  So we’d need to use ‘guard’
and the R6RS I/O error predicate.

But I do think we should take a closer look at procfs; we’ll have to fix
it anyway, and it’s relatively little code, so the sooner the better
IMO.  As discussed yesterday on IRC, gdb is a somewhat flaky, so perhaps
we can try (cross)building procfs and with a bunch of printfs, and then
starting it as an active translator so it has stdout/stderr.  High tech!  :-)

Thanks,
Ludo’.