Subject: [bug#50091] [PATCH 05/21] gnu: guile: Fix building on riscv64-linux.

From: Efraim Flashner <[email-masked]>
Date: Tue, 17 Aug 2021 13:56:51 +0300

On Tue, Aug 17, 2021 at 12:44:44PM +0200, Maxime Devos wrote:
> >  ;;; Commentary:
> >  ;;;
> > @@ -346,14 +347,17 @@ without requiring the source code to be rewritten.")
> >                         ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
> >                         (substitute* "bootstrap/Makefile.in"
> >                           (("^GUILE_OPTIMIZATIONS.*")
> > -                          "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
> > -                   (add-after 'unpack 'skip-failing-fdes-test
> > -                     (lambda _
> > -                       ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> > -                       (substitute* "test-suite/tests/ports.test"
> > -                         (("fdes not closed\"" all) (string-append all "(exit 77)")))
> > -                       #t)))
> > -                 '())))))
> > +                          "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
> > +                 '())
> > +           ,@(if (srfi-1:any (cute string-prefix? <> (%current-system))
> > +                             '("powerpc-" "riscv64-"))
> > +               `((add-after 'unpack 'skip-failing-fdes-test
> > +                   (lambda _
> > +                     ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> > +                     (substitute* "test-suite/tests/ports.test"
> > +                       (("fdes not closed\"" all) (string-append all "(exit 77)")))
> > +                     #t)))
> > +               '())))))
> 
> This is not powerpc- or riscv64-specific -- iirc, I sometimes encounter it on a x86_64.
> It's non-determenistic though.  The debian patch has a nice explanation:
> <https://salsa.debian.org/rlb/deb-guile/-/blob/f24ab0150132d906b9724128576c36c39361cab7/debian/patches/0007-Fix-non-revealed-port-is-closed-ports.test.patch>.

It is deterministic on powerpc and riscv64 though.

> I've also linked some of the public reports on the issue together:
> <https://issues.guix.gnu.org/48389#11>.
> 
> Could the patch (or substitution) be applied, independently of the architecture?

It could, but it affects everything back to guile-final, so it's world
rebuilding.

> Greetings,
> Maxime.

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted