#1 Build against FlexiBLAS
Merged 2 years ago by limb. Opened 2 years ago by iucar.
rpms/ iucar/igraph rawhide  into  rawhide

file modified
+22 -6
@@ -1,6 +1,12 @@ 

+ %if 0%{?fedora} >= 33 || 0%{?rhel} >= 9

+ %global blaslib flexiblas

+ %else

+ %global blaslib openblas

+ %endif

+ 

  Name:               igraph

  Version:            0.9.2

- Release:            1%{?dist}

+ Release:            2%{?dist}

  Summary:            Library for creating and manipulating graphs

  

  License:             GPLv2+
@@ -11,9 +17,10 @@ 

  BuildRequires:      gcc-c++

  BuildRequires:      libxml2-devel

  BuildRequires:      gmp-devel

- BuildRequires:      openblas-devel

+ BuildRequires:      %{blaslib}-devel

  BuildRequires:      arpack-devel

  BuildRequires:      glpk-devel

+ BuildRequires:      suitesparse-devel

  BuildRequires:      cmake

  

  %description
@@ -38,13 +45,17 @@ 

  %setup -q

  

  %build

- %cmake -DIGRAPH_USE_INTERNAL_BLAS=0 \

+ %cmake \

+     -DIGRAPH_ENABLE_LTO=AUTO \

+     -DIGRAPH_ENABLE_TLS=1 \

+     -DIGRAPH_USE_INTERNAL_BLAS=0 \

      -DIGRAPH_USE_INTERNAL_LAPACK=0 \

      -DIGRAPH_USE_INTERNAL_ARPACK=0 \

      -DIGRAPH_USE_INTERNAL_GLPK=0 \

-     -DIGRAPH_USE_INTERNAL_CXSPARSE=1 \

+     -DIGRAPH_USE_INTERNAL_CXSPARSE=0 \

      -DIGRAPH_USE_INTERNAL_GMP=0 \

-     -DBLA_VENDOR=OpenBLAS \

+     -DBLAS_LIBRARIES=-l%{blaslib} \

+     -DLAPACK_LIBRARIES=-l%{blaslib} \

      -DIGRAPH_GRAPHML_SUPPORT=1 \

      -DCMAKE_INSTALL_INCLUDEDIR=include/

  %cmake_build
@@ -56,7 +67,7 @@ 

  find . -name '.arch-ids' | xargs rm -rf

  

  %check

- make check || :

+ %ctest

  

  

  %files
@@ -73,6 +84,11 @@ 

  %doc %{_mandir}/man3/igraph.3*

  

  %changelog

+ * Sun Apr 18 2021 Iñaki Úcar <iucar@fedoraproject.org> - 0.9.2-2

+ - https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager

+ - Enable LTO and TLS

+ - Use system suitesparse

+ 

  * Thu Apr 15 2021 Gwyn Ciesla <gwync@protonmail.com> - 0.9.2-1

  - 0.9.2

  

This PR should have been part of https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager, but somehow I missed this package.

This PR also enables LTO and thread-local storage (safer if any consumer uses igraph from threads), and switches to system CXSparse.

rebased onto c4c46c6

2 years ago

Force-pushed to re-enable testing.

Pull-Request has been merged by limb

2 years ago

Apparently, some tests fail in some architectures, so you probably want to do something like

%ctest || :

again. I'll report them upstream.

Or maybe the || : just for the failing architectures, documenting the failing tests in the SPEC as well as the corresponding upstream issues?

Mmmh, maybe it's just that tests are not robust to the BLAS/LAPACK implementation used, according to https://github.com/igraph/igraph/issues/1694. Let me try something, I'll submit a new PR if it works.

Ok, sounds good. Thank you! This failed on i386 and aarch64.

Metadata