Accepting request 399550 from home:mathletic:branches:devel:libraries:c_c++
update to version 5.2.1 include improvements from the mailinglist OBS-URL: https://build.opensuse.org/request/show/399550 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/superlu?expand=0&rev=12
This commit is contained in:
parent
937d31c34f
commit
7421a71ec8
@ -1,7 +1,8 @@
|
||||
This version of SuperLU is slightly different form the original SuperLU
|
||||
available on http://crd.lbl.gov/~xiaoye/SuperLU/. For legal reasons the
|
||||
routine mc64ad from the Harwell Subroutine Library cannot be redistributed
|
||||
by openSUSE and have been removed form the sources.
|
||||
by openSUSE and have been removed form the sources. Only SRC/mc64ad.c was
|
||||
removed from the tarball.
|
||||
|
||||
However the SuperLU library provided by openSUSE is fully functionnal
|
||||
except that the mc64ad routine is not used.
|
||||
|
@ -1 +1 @@
|
||||
libsuperlu4
|
||||
libsuperlu5
|
||||
|
@ -1,48 +0,0 @@
|
||||
diff -aruN SuperLU_4.3.orig/SRC/Makefile SuperLU_4.3/SRC/Makefile
|
||||
--- SuperLU_4.3.orig/SRC/Makefile 2011-10-27 21:49:47.000000000 +0200
|
||||
+++ SuperLU_4.3/SRC/Makefile 2013-01-08 21:59:19.495919213 +0100
|
||||
@@ -51,7 +51,7 @@
|
||||
sp_coletree.o sp_preorder.o sp_ienv.o relax_snode.o \
|
||||
heap_relax_snode.o colamd.o \
|
||||
ilu_relax_snode.o ilu_heap_relax_snode.o mark_relax.o \
|
||||
- mc64ad.o qselect.o
|
||||
+ qselect.o
|
||||
|
||||
SLUSRC = \
|
||||
sgssv.o sgssvx.o \
|
||||
@@ -63,7 +63,7 @@
|
||||
sreadhb.o sreadrb.o sreadtriple.o \
|
||||
scolumn_dfs.o scolumn_bmod.o spivotL.o spruneL.o \
|
||||
smemory.o sutil.o smyblas2.o \
|
||||
- sgsisx.o sgsitrf.o sldperm.o \
|
||||
+ sgsitrf.o \
|
||||
ilu_sdrop_row.o ilu_ssnode_dfs.o \
|
||||
ilu_scolumn_dfs.o ilu_spanel_dfs.o ilu_scopy_to_ucol.o \
|
||||
ilu_spivotL.o sdiagonal.o
|
||||
@@ -77,7 +77,7 @@
|
||||
dreadhb.o dreadrb.o dreadtriple.o \
|
||||
dcolumn_dfs.o dcolumn_bmod.o dpivotL.o dpruneL.o \
|
||||
dmemory.o dutil.o dmyblas2.o \
|
||||
- dgsisx.o dgsitrf.o dldperm.o \
|
||||
+ dgsitrf.o \
|
||||
ilu_ddrop_row.o ilu_dsnode_dfs.o \
|
||||
ilu_dcolumn_dfs.o ilu_dpanel_dfs.o ilu_dcopy_to_ucol.o \
|
||||
ilu_dpivotL.o ddiagonal.o
|
||||
@@ -92,7 +92,7 @@
|
||||
creadhb.o creadrb.o creadtriple.o \
|
||||
ccolumn_dfs.o ccolumn_bmod.o cpivotL.o cpruneL.o \
|
||||
cmemory.o cutil.o cmyblas2.o \
|
||||
- cgsisx.o cgsitrf.o cldperm.o \
|
||||
+ cgsitrf.o \
|
||||
ilu_cdrop_row.o ilu_csnode_dfs.o \
|
||||
ilu_ccolumn_dfs.o ilu_cpanel_dfs.o ilu_ccopy_to_ucol.o \
|
||||
ilu_cpivotL.o cdiagonal.o
|
||||
@@ -106,7 +106,7 @@
|
||||
zreadhb.o zreadrb.o zreadtriple.o \
|
||||
zcolumn_dfs.o zcolumn_bmod.o zpivotL.o zpruneL.o \
|
||||
zmemory.o zutil.o zmyblas2.o \
|
||||
- zgsisx.o zgsitrf.o zldperm.o \
|
||||
+ zgsitrf.o \
|
||||
ilu_zdrop_row.o ilu_zsnode_dfs.o \
|
||||
ilu_zcolumn_dfs.o ilu_zpanel_dfs.o ilu_zcopy_to_ucol.o \
|
||||
ilu_zpivotL.o zdiagonal.o
|
50
superlu-5.2-remove-mc64ad.patch
Normal file
50
superlu-5.2-remove-mc64ad.patch
Normal file
@ -0,0 +1,50 @@
|
||||
--- a/SRC/CMakeLists.txt 2016-05-29 13:57:44.683251096 +0200
|
||||
+++ b/SRC/CMakeLists.txt 2016-05-29 13:57:31.570987497 +0200
|
||||
@@ -22,7 +22,6 @@
|
||||
ilu_relax_snode.c
|
||||
ilu_heap_relax_snode.c
|
||||
mark_relax.c
|
||||
- mc64ad.c
|
||||
qselect.c
|
||||
input_error.c
|
||||
)
|
||||
@@ -63,9 +62,7 @@
|
||||
smemory.c
|
||||
sutil.c
|
||||
smyblas2.c
|
||||
- sgsisx.c
|
||||
sgsitrf.c
|
||||
- sldperm.c
|
||||
ilu_sdrop_row.c
|
||||
ilu_ssnode_dfs.c
|
||||
ilu_scolumn_dfs.c
|
||||
@@ -112,9 +109,7 @@
|
||||
dmemory.c
|
||||
dutil.c
|
||||
dmyblas2.c
|
||||
- dgsisx.c
|
||||
dgsitrf.c
|
||||
- dldperm.c
|
||||
ilu_ddrop_row.c
|
||||
ilu_dsnode_dfs.c
|
||||
ilu_dcolumn_dfs.c
|
||||
@@ -163,9 +158,7 @@
|
||||
cmemory.c
|
||||
cutil.c
|
||||
cmyblas2.c
|
||||
- cgsisx.c
|
||||
cgsitrf.c
|
||||
- cldperm.c
|
||||
ilu_cdrop_row.c
|
||||
ilu_csnode_dfs.c
|
||||
ilu_ccolumn_dfs.c
|
||||
@@ -213,9 +206,7 @@
|
||||
zmemory.c
|
||||
zutil.c
|
||||
zmyblas2.c
|
||||
- zgsisx.c
|
||||
zgsitrf.c
|
||||
- zldperm.c
|
||||
ilu_zdrop_row.c
|
||||
ilu_zsnode_dfs.c
|
||||
ilu_zcolumn_dfs.c
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun May 29 16:30:52 UTC 2016 - foss@grueninger.de
|
||||
|
||||
- Update to SuperLU 5.2.1
|
||||
- Switch to CMake as build-system
|
||||
- Drop superlu-4.3-disable-hsl.patch as CMake is now used
|
||||
- Update to latest SuperLU User Guide
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 29 09:34:51 UTC 2015 - dimstar@opensuse.org
|
||||
|
||||
|
77
superlu.spec
77
superlu.spec
@ -1,7 +1,8 @@
|
||||
#
|
||||
# spec file for package superlu
|
||||
#
|
||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2016 Christoph Grüninger foss@grueninger.de
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,29 +18,29 @@
|
||||
|
||||
|
||||
Name: superlu
|
||||
Summary: A general purpose library for the direct solution of linear equations
|
||||
Summary: A general purpose library for the direct solution of sparse systems of linear equations
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/C and C++
|
||||
Version: 4.3
|
||||
Version: 5.2.1
|
||||
Release: 0
|
||||
#Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz
|
||||
Source: superlu_%{version}-bsd.tar.bz2
|
||||
%define soname lib%{name}5
|
||||
#Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_5.2.1.tar.gz
|
||||
Source: %{name}_%{version}-bsd.tar.gz
|
||||
Source1: superlu_ug.pdf
|
||||
Source2: README.SUSE
|
||||
Source3: baselibs.conf
|
||||
# PATCH-FEATURE-OPENSUSE superlu-4.3.diff : add compiler and build flags in make.inc
|
||||
Patch: superlu-4.3.diff
|
||||
# PATCH-FIX-UPSTREAM superlu-4.3-include.patch : avoid implicit declaration warnings
|
||||
Patch1: superlu-4.3-include.patch
|
||||
# PATCH-FIX-UPSTREAM superlu-4.3-dont-opt-away.diff
|
||||
Patch2: superlu-4.3-dont-opt-away.diff
|
||||
# PATCH-FIX-OPENSUSE superlu-4.3-remove-hsl.patch [bnc#796236]
|
||||
# The Harwell Subroutine Library (HSL) routine m64ad.c have been removed
|
||||
# PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236]
|
||||
# The Harwell Subroutine Library (HSL) routine mc64ad.c have been removed
|
||||
# from the original sources for legal reasons. This patch disables the inclusion of
|
||||
# this routine in the library which, however, remains fully functionnal
|
||||
Patch3: superlu-4.3-disable-hsl.patch
|
||||
Patch3: superlu-5.2-remove-mc64ad.patch
|
||||
Url: http://crd.lbl.gov/~xiaoye/SuperLU/
|
||||
BuildRequires: blas
|
||||
BuildRequires: cmake
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-fortran
|
||||
BuildRequires: tcsh
|
||||
@ -47,28 +48,25 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
SuperLU is an algorithm that uses group theory to optimize LU
|
||||
decomposition of sparse matrices. It's the fastest direct solver for
|
||||
linear systems that the author is aware of.
|
||||
decomposition of sparse matrices.
|
||||
|
||||
Docu can be found on http://www.netlib.org.
|
||||
|
||||
%package -n libsuperlu4
|
||||
%package -n %soname
|
||||
Summary: SuperLU matrix solver
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libsuperlu4
|
||||
%description -n %soname
|
||||
SuperLU is an algorithm that uses group theory to optimize LU
|
||||
decomposition of sparse matrices. It's the fastest direct solver for
|
||||
linear systems that the author is aware of.
|
||||
|
||||
Docu can be found on http://www.netlib.org.
|
||||
decomposition of sparse matrices.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %soname = %{version}
|
||||
# The standalone superlu RPM has been eliminated, and the relevant
|
||||
# files are now in superlu-devel
|
||||
# The last standalone superlu RPM was was v3.0
|
||||
Provides: superlu = %{version}
|
||||
Obsoletes: superlu < %{version}
|
||||
Requires: libsuperlu4 = %{version}
|
||||
Obsoletes: superlu <= 3.0
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
@ -76,7 +74,6 @@ developing applications that use %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n SuperLU_%{version}
|
||||
%patch -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
@ -84,19 +81,25 @@ developing applications that use %{name}.
|
||||
cp %SOURCE1 %SOURCE2 ./
|
||||
|
||||
%build
|
||||
make lib
|
||||
|
||||
mkdir tmp
|
||||
(cd tmp; ar -x ../lib/libsuperlu_%{version}.a)
|
||||
gfortran -shared -Wl,-soname,libsuperlu.so.4 -o lib/libsuperlu.so tmp/*.o
|
||||
mkdir build
|
||||
cd build
|
||||
cmake \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS_RELEASE=\
|
||||
"-O3 -fPIC -fschedule-insns2 \
|
||||
-funroll-loops -fstrict-aliasing \
|
||||
-ftree-vectorize -funit-at-a-time \
|
||||
-frerun-loop-opt" \
|
||||
..
|
||||
make %{?_smp_mflags}
|
||||
cd ..
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
install -m644 SRC/*.h %{buildroot}%{_includedir}
|
||||
install -m755 lib/libsuperlu.so %{buildroot}%{_libdir}/libsuperlu.so.%{version}
|
||||
ln -s %{_libdir}/libsuperlu.so.%{version} %{buildroot}%{_libdir}/libsuperlu.so.4
|
||||
ln -s %{_libdir}/libsuperlu.so.4 %{buildroot}%{_libdir}/libsuperlu.so
|
||||
cd build
|
||||
make DESTDIR=%{buildroot} install
|
||||
cd ..
|
||||
|
||||
#fix permissions
|
||||
chmod 644 MATLAB/*
|
||||
@ -119,11 +122,11 @@ for i in stest dtest ctest ztest; do
|
||||
cat TESTING/$i.out
|
||||
done
|
||||
|
||||
%post -n libsuperlu4 -p /sbin/ldconfig
|
||||
%post -n %soname -p /sbin/ldconfig
|
||||
|
||||
%postun -n libsuperlu4 -p /sbin/ldconfig
|
||||
%postun -n %soname -p /sbin/ldconfig
|
||||
|
||||
%files -n libsuperlu4
|
||||
%files -n %soname
|
||||
%defattr(-,root,root,-)
|
||||
%doc README MATLAB README.SUSE
|
||||
%{_libdir}/*.so.*
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7147d51d0218ada61ef190397595f77df7de42ff4f84087b81918ec6a2564039
|
||||
size 2159982
|
3
superlu_5.2.1-bsd.tar.gz
Normal file
3
superlu_5.2.1-bsd.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a69513a061432baaac93bfd60a258ad492b894a2f4025276e742d88251b8a82f
|
||||
size 2540521
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cb9b6dca641582b8346fdb58f22bc0b1284b5cbf99a322f8094f824059be8e6a
|
||||
size 382387
|
||||
oid sha256:f66438fe62cbc455855813b914095a11fe7b96a700926b59bce8a1d8a4dbcdba
|
||||
size 687318
|
||||
|
Loading…
Reference in New Issue
Block a user