From e0d2f8164e6a1c15fdcae6f7dadb05c0c9e25352 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sun, 3 Jul 2022 10:08:47 +0200 Subject: [PATCH] gnu: sbcl: Disable SB-SIMD module. SB-SIMD gets enabled only on x86_64 CPUs supporting AVX2 instructions, and some x86_64 CPUs don't. Fixes . Reported by Wensheng Xie . * gnu/packages/lisp.scm (sbcl)[arguments]: Disable SB-SIMD in the 'build' and 'build-doc' phases. --- gnu/packages/lisp.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index af65d9327f..72b6accc29 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -567,7 +567,12 @@ (define (quoted-path input path) (assoc-ref outputs "out")) "--dynamic-space-size=3072" "--with-sb-core-compression" - "--with-sb-xref-for-internals"))) + "--with-sb-xref-for-internals" + ;; SB-SIMD will only be built on x86_64 CPUs supporting + ;; AVX2 instructions. Some x86_64 CPUs don't, so for reproducibility + ;; we disable it and we don't build its documentation (see the + ;; 'build-doc' phase). + "--without-sb-simd"))) (add-after 'build 'build-shared-library (lambda* (#:key outputs #:allow-other-keys) (setenv "CC" "gcc") @@ -577,15 +582,11 @@ (define (quoted-path input path) (invoke "sh" "install.sh"))) (add-after 'build 'build-doc (lambda _ - ;; Building the documentation for SB-SIMD only works when SB-SIMD - ;; is enabled, so far only on x86_64-linux. - ,@(match (%current-system) - ("x86_64-linux" - '()) - (_ - '((substitute* "doc/manual/generate-texinfo.lisp" - (("exclude '\\(\"asdf\"\\)") - "exclude '(\"asdf\" \"sb-simd\")"))))) + ;; Don't build the documentation for SB-SIMD as it is disabled in + ;; the 'build' phase. + (substitute* "doc/manual/generate-texinfo.lisp" + (("exclude '\\(\"asdf\"\\)") + "exclude '(\"asdf\" \"sb-simd\")")) (with-directory-excursion "doc/manual" (and (invoke "make" "info") (invoke "make" "dist")))))