Message ID | 9440a6ca3c1318e99dc1eb16f7e382ee888464fc.1629193993.git.efraim@flashner.co.il |
---|---|
State | New |
Headers | show |
Series | Add riscv64 support | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
On Tue, Aug 17, 2021 at 01:19:03PM +0300, Efraim Flashner wrote: > * gnu/packages/guile.scm (guile-3.0)[arguments]: On riscv64-linux add > a phase to skip a failing test. > --- > gnu/packages/guile.scm | 22 +++++++++++++--------- > 1 file changed, 13 insertions(+), 9 deletions(-) > > diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm > index fffc30f913..f9a7125f83 100644 > --- a/gnu/packages/guile.scm > +++ b/gnu/packages/guile.scm > @@ -65,7 +65,8 @@ > #:use-module (guix deprecation) > #:use-module (guix utils) > #:use-module (ice-9 match) > - #:use-module ((srfi srfi-1) #:prefix srfi-1:)) > + #:use-module ((srfi srfi-1) #:prefix srfi-1:) > + #:use-module (srfi srfi-26)) > > ;;; 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-")) this should be switched to ,@(if (or (target-ppc32?) (target-riscv?)) > + `((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))) > + '()))))) > > (native-search-paths > (list (search-path-specification > -- > 2.32.0 >
> ;;; 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>. 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? Greetings, Maxime.
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.
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index fffc30f913..f9a7125f83 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -65,7 +65,8 @@ #:use-module (guix deprecation) #:use-module (guix utils) #:use-module (ice-9 match) - #:use-module ((srfi srfi-1) #:prefix srfi-1:)) + #:use-module ((srfi srfi-1) #:prefix srfi-1:) + #:use-module (srfi srfi-26)) ;;; 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))) + '()))))) (native-search-paths (list (search-path-specification