The package rpms/clblast.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/clblast.git/commit/?id=b1bc747268daf....
Change: +%ifarch %{ix86} x86_64
Thanks.
Full change: ============
commit b1bc747268daf4053b65d2b5995cddae8c0f43f7 Author: Jerry James loganjerry@gmail.com Date: Wed Sep 5 19:40:22 2018 -0600
Disable testing on platforms with POCL issues. Add -altivec patch to fix name clash on ppc64le.
diff --git a/clblast-altivec.patch b/clblast-altivec.patch new file mode 100644 index 0000000..0ce43bc --- /dev/null +++ b/clblast-altivec.patch @@ -0,0 +1,33 @@ +--- include/clblast_c.h.orig 2018-07-14 04:29:06.000000000 -0600 ++++ include/clblast_c.h 2018-09-05 19:25:32.645451973 -0600 +@@ -21,6 +21,8 @@ + #else + #include <CL/opencl.h> + #endif ++#undef vector ++#undef bool + + // Exports library functions under Windows when building a DLL. See also: + // https://msdn.microsoft.com/en-us/library/a90k134d.aspx +--- include/clblast.h.orig 2018-07-14 04:29:06.000000000 -0600 ++++ include/clblast.h 2018-09-05 19:25:20.700470968 -0600 +@@ -26,6 +26,8 @@ + #else + #include <CL/opencl.h> + #endif ++#undef vector ++#undef bool + + // Exports library functions under Windows when building a DLL. See also: + // https://msdn.microsoft.com/en-us/library/a90k134d.aspx +--- src/clpp11.hpp.orig 2018-07-14 04:29:06.000000000 -0600 ++++ src/clpp11.hpp 2018-09-05 19:18:44.972378306 -0600 +@@ -54,6 +54,8 @@ + #else + #include <CL/opencl.h> + #endif ++#undef vector ++#undef bool + + // Android support (missing C++11 functions to_string, stod, and stoi) + #ifdef __ANDROID__ diff --git a/clblast.spec b/clblast.spec index 2117f42..95af4d9 100644 --- a/clblast.spec +++ b/clblast.spec @@ -1,3 +1,14 @@ +# TESTING NOTE: An OpenCL device is needed to run the tests. Since the koji +# builders may or may not have a GPU, we use the CPU-only POCL implementation. +# However: +# - POCL is not available on ppc64, ppc64le, or s390x due to failing tests. +# - Builds with POCL on 32-bit ARM fail with an undefined symbol error: +# __gnu_f2h_ieee. This symbol is defined in libLLVM, but we are building +# with gcc/g++, not clang. Since POCL is built with clang, this appears to +# be a POCL bug. +# - Builds with POCL on aarch64 fail one DAXPY test, not yet diagnosed. +# That leaves only 32-bit and 64-bit x86 as platforms that can run the tests. + Name: clblast Version: 1.4.1 Release: 1%{?dist} @@ -6,13 +17,17 @@ Summary: Tuned OpenCL BLAS routines License: ASL 2.0 URL: https://cnugteren.github.io/clblast/clblast.html Source0: https://github.com/CNugteren/CLBlast/archive/%%7Bversion%7D/%%7Bname%7D-%%7B... +# Fix name clashes between macros in altivec.h and standard types on ppc64le +Patch0: %{name}-altivec.patch
BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: ocl-icd-devel BuildRequires: openblas-devel +%ifarch %{ix86} x86_64 BuildRequires: pocl-devel +%endif
%description CLBlast is a modern, lightweight, performant and tunable OpenCL BLAS @@ -44,7 +59,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Programs to tune %{name} for your OpenCL device.
%prep -%autosetup -n CLBlast-%{version} +%autosetup -p0 -n CLBlast-%{version}
# Fix the path to the openblas headers sed -i 's,openblas/include,include/openblas,' cmake/Modules/FindCBLAS.cmake @@ -56,8 +71,10 @@ sed -i 's,openblas/include,include/openblas,' cmake/Modules/FindCBLAS.cmake %install %make_install
+%ifarch %{ix86} x86_64 %check make alltests +%endif
%files %license LICENSE
arch-excludes@lists.fedoraproject.org