The package rpms/z3.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/z3.git/commit/?id=31ee134bbfc4b23....
Change:
-%ifnarch %{ix86} x86_64
Thanks.
Full change:
============
commit 31ee134bbfc4b23cfe02223d826974c18f7ffb78
Author: Jerry James <loganjerry(a)gmail.com>
Date: Wed Oct 31 21:04:06 2018 -0600
Add -no-sse patch to fix FTBFS on non-x86 arches.
diff --git a/z3-no-sse.patch b/z3-no-sse.patch
new file mode 100644
index 0000000..801858a
--- /dev/null
+++ b/z3-no-sse.patch
@@ -0,0 +1,49 @@
+--- scripts/mk_util.py.orig 2018-10-15 13:52:38.000000000 -0600
++++ scripts/mk_util.py 2018-10-31 19:27:59.067093823 -0600
+@@ -112,7 +112,7 @@ GUARD_CF=False
+ ALWAYS_DYNAMIC_BASE=False
+
+ FPMATH="Default"
+-FPMATH_FLAGS="-mfpmath=sse -msse -msse2"
++FPMATH_FLAGS=""
+
+
+ def check_output(cmd):
+@@ -294,10 +294,10 @@ def test_fpmath(cc):
+ t = TempFile('tstsse.cpp')
+ t.add('int main() { return 42; }\n')
+ t.commit()
+- if exec_compiler_cmd([cc, CPPFLAGS, 'tstsse.cpp', LDFLAGS, '-mfpmath=sse
-msse -msse2']) == 0:
++ if None:
+ FPMATH_FLAGS="-mfpmath=sse -msse -msse2"
+ return "SSE2-GCC"
+- elif exec_compiler_cmd([cc, CPPFLAGS, 'tstsse.cpp', LDFLAGS, '-msse
-msse2']) == 0:
++ elif None:
+ FPMATH_FLAGS="-msse -msse2"
+ return "SSE2-CLANG"
+ elif exec_compiler_cmd([cc, CPPFLAGS, 'tstsse.cpp', LDFLAGS, '-mfpu=vfp
-mfloat-abi=hard']) == 0:
+--- src/util/hwf.cpp.orig 2018-10-15 13:52:38.000000000 -0600
++++ src/util/hwf.cpp 2018-10-31 19:28:42.528890124 -0600
+@@ -46,9 +46,9 @@ Revision History:
+ // clear to the compiler what instructions should be used. E.g., for sqrt(), the Windows
compiler selects
+ // the x87 FPU, even when /arch:SSE2 is on.
+ // Luckily, these are kind of standardized, at least for Windows/Linux/macOS.
+-#ifdef __clang__
++//#ifdef __clang__
+ #undef USE_INTRINSICS
+-#endif
++//#endif
+
+ #ifdef USE_INTRINSICS
+ #include <emmintrin.h>
+--- src/util/mpz.cpp.orig 2018-10-15 13:52:38.000000000 -0600
++++ src/util/mpz.cpp 2018-10-31 19:40:55.519174699 -0600
+@@ -30,7 +30,7 @@ Revision History:
+ #else
+ #error No multi-precision library selected.
+ #endif
+-#include <immintrin.h>
++
+
+ // Available GCD algorithms
+ // #define EUCLID_GCD
diff --git a/z3.spec b/z3.spec
index 39fc170..c589363 100644
--- a/z3.spec
+++ b/z3.spec
@@ -1,4 +1,4 @@
-%global medtag 3b1b82bef05a
+%global medtag b301a59899ff
Name: z3
Version: 4.8.1
@@ -8,6 +8,8 @@ Summary: Satisfiability Modulo Theories (SMT) solver
License: MIT
URL:
https://github.com/Z3Prover/z3
Source0:
https://github.com/Z3Prover/z3/archive/%{name}-%{version}.tar.gz
+# Do not try to build with SSE2 support on non-x86 arches.
+Patch0: %{name}-no-sse.patch
BuildRequires: doxygen
BuildRequires: gcc-c++
@@ -89,6 +91,9 @@ Python 3 interface to z3.
%prep
%setup -q -n %{name}-%{name}-%{version}
+%ifnarch %{ix86} x86_64
+%patch0
+%endif
# Install python objects into the right place, enable verbose builds, use
# Fedora CFLAGS, preserve timestamps when installing, include the entire
@@ -108,11 +113,6 @@ sed -e
"s|^\(PYTHON_PACKAGE_DIR=\).*|\1'%{python3_sitearch}'|" \
-e "s/OCAML_FLAGS = ''/OCAML_FLAGS = '-g'/" \
-i scripts/mk_util.py
-# Do not try to build with SSE2 support on non-x86 arches.
-%ifnarch %{ix86} x86_64
-sed -i 's/exec_compiler_cmd.*-msse.*:/None:/' scripts/mk_util.py
-%endif
-
# Comply with the Java packaging guidelines
sed -e
's,\(System\.load\)Library("\(.*\)"),\1("%{_libdir}/z3/\2.so"),'
\
-i scripts/update_api.py