(name . Bug Guix)(address . bug-guix@gnu.org)
Opening a ticket so discussions a bit more organized. Hope this doesn't
step on anybody's toes.
Catch2-3.5.1 fails to build with system=i686-linux, log attached. This
is due to a test added upstream that assumes the SSE extension is
present,
SelfTest/IntrospectiveTests/RandomNumberGeneration.tests.cpp:570.
One fix was proposed that replaces GCC with Clang, attached. This works
because Clang assumes the SSE extension by default. If we add
"-DCMAKE_CXX_FLAGS=-mno-sse", the test fails again.
Another solution is to add "-DCMAKE_CXX_FLAGS=-msse -mfpmath=sse" to the
existing package definition.
Of the two, the second is more explicit in how the problem is resolved,
but I don't know if we should assume SSE is present on i686.
An issue was opened upstream at
Richard Sent
Toggle diff (20 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 449340f331..e09a7bd82a 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -621,9 +621,14 @@ (define-public catch2-3
(arguments
(list
#:configure-flags
- #~(list "-DCATCH_DEVELOPMENT_BUILD=ON"
+ #~(list "-DCMAKE_CXX_COMPILER=clang++" ; tests fail with gcc-11 on i686
+ "-DCMAKE_CXX_STANDARD=14"
+ "-DCMAKE_CXX_STANDARD_REQUIRED=ON"
+ "-DCMAKE_CXX_EXTENSIONS=OFF"
+ "-DCATCH_DEVELOPMENT_BUILD=ON"
"-DCATCH_ENABLE_WERROR=OFF"
"-DBUILD_SHARED_LIBS=ON")))
+ (native-inputs (list clang-10))
(inputs (list python-wrapper))
(synopsis "Automated test framework for C++ and Objective-C")
(description "Catch2 stands for C++ Automated Test Cases in Headers and is