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:
Marcus Meissner 2016-06-06 14:11:07 +00:00 committed by Git OBS Bridge
parent 937d31c34f
commit 7421a71ec8
9 changed files with 106 additions and 92 deletions

View File

@ -1,7 +1,8 @@
This version of SuperLU is slightly different form the original SuperLU This version of SuperLU is slightly different form the original SuperLU
available on http://crd.lbl.gov/~xiaoye/SuperLU/. For legal reasons the available on http://crd.lbl.gov/~xiaoye/SuperLU/. For legal reasons the
routine mc64ad from the Harwell Subroutine Library cannot be redistributed 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 However the SuperLU library provided by openSUSE is fully functionnal
except that the mc64ad routine is not used. except that the mc64ad routine is not used.

View File

@ -1 +1 @@
libsuperlu4 libsuperlu5

View File

@ -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

View 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

View File

@ -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 Wed Jul 29 09:34:51 UTC 2015 - dimstar@opensuse.org

View File

@ -1,7 +1,8 @@
# #
# spec file for package superlu # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,29 +18,29 @@
Name: superlu 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 License: BSD-3-Clause
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Version: 4.3 Version: 5.2.1
Release: 0 Release: 0
#Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz %define soname lib%{name}5
Source: superlu_%{version}-bsd.tar.bz2 #Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_5.2.1.tar.gz
Source: %{name}_%{version}-bsd.tar.gz
Source1: superlu_ug.pdf Source1: superlu_ug.pdf
Source2: README.SUSE Source2: README.SUSE
Source3: baselibs.conf 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 # PATCH-FIX-UPSTREAM superlu-4.3-include.patch : avoid implicit declaration warnings
Patch1: superlu-4.3-include.patch Patch1: superlu-4.3-include.patch
# PATCH-FIX-UPSTREAM superlu-4.3-dont-opt-away.diff # PATCH-FIX-UPSTREAM superlu-4.3-dont-opt-away.diff
Patch2: 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] # PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236]
# The Harwell Subroutine Library (HSL) routine m64ad.c have been removed # The Harwell Subroutine Library (HSL) routine mc64ad.c have been removed
# from the original sources for legal reasons. This patch disables the inclusion of # from the original sources for legal reasons. This patch disables the inclusion of
# this routine in the library which, however, remains fully functionnal # 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/ Url: http://crd.lbl.gov/~xiaoye/SuperLU/
BuildRequires: blas BuildRequires: blas
BuildRequires: cmake
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-fortran BuildRequires: gcc-fortran
BuildRequires: tcsh BuildRequires: tcsh
@ -47,28 +48,25 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
SuperLU is an algorithm that uses group theory to optimize LU SuperLU is an algorithm that uses group theory to optimize LU
decomposition of sparse matrices. It's the fastest direct solver for decomposition of sparse matrices.
linear systems that the author is aware of.
Docu can be found on http://www.netlib.org. %package -n %soname
%package -n libsuperlu4
Summary: SuperLU matrix solver Summary: SuperLU matrix solver
Group: System/Libraries Group: System/Libraries
%description -n libsuperlu4 %description -n %soname
SuperLU is an algorithm that uses group theory to optimize LU SuperLU is an algorithm that uses group theory to optimize LU
decomposition of sparse matrices. It's the fastest direct solver for decomposition of sparse matrices.
linear systems that the author is aware of.
Docu can be found on http://www.netlib.org.
%package devel %package devel
Summary: Development files for %{name} Summary: Development files for %{name}
Group: Development/Libraries/C and C++ 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} Provides: superlu = %{version}
Obsoletes: superlu < %{version} Obsoletes: superlu <= 3.0
Requires: libsuperlu4 = %{version}
%description devel %description devel
The %{name}-devel package contains libraries and header files for The %{name}-devel package contains libraries and header files for
@ -76,7 +74,6 @@ developing applications that use %{name}.
%prep %prep
%setup -q -n SuperLU_%{version} %setup -q -n SuperLU_%{version}
%patch -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
@ -84,19 +81,25 @@ developing applications that use %{name}.
cp %SOURCE1 %SOURCE2 ./ cp %SOURCE1 %SOURCE2 ./
%build %build
make lib mkdir build
cd build
mkdir tmp cmake \
(cd tmp; ar -x ../lib/libsuperlu_%{version}.a) -DBUILD_SHARED_LIBS=ON \
gfortran -shared -Wl,-soname,libsuperlu.so.4 -o lib/libsuperlu.so tmp/*.o -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 %install
mkdir -p %{buildroot}%{_libdir} cd build
mkdir -p %{buildroot}%{_includedir} make DESTDIR=%{buildroot} install
install -m644 SRC/*.h %{buildroot}%{_includedir} cd ..
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
#fix permissions #fix permissions
chmod 644 MATLAB/* chmod 644 MATLAB/*
@ -119,11 +122,11 @@ for i in stest dtest ctest ztest; do
cat TESTING/$i.out cat TESTING/$i.out
done 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,-) %defattr(-,root,root,-)
%doc README MATLAB README.SUSE %doc README MATLAB README.SUSE
%{_libdir}/*.so.* %{_libdir}/*.so.*

View File

@ -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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a69513a061432baaac93bfd60a258ad492b894a2f4025276e742d88251b8a82f
size 2540521

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:cb9b6dca641582b8346fdb58f22bc0b1284b5cbf99a322f8094f824059be8e6a oid sha256:f66438fe62cbc455855813b914095a11fe7b96a700926b59bce8a1d8a4dbcdba
size 382387 size 687318