Accepting request 402085 from devel:libraries:c_c++
1 OBS-URL: https://build.opensuse.org/request/show/402085 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/superlu?expand=0&rev=18
This commit is contained in:
commit
c4096bd278
@ -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
|
@ -1,94 +0,0 @@
|
||||
diff -aruN SuperLU_4.3.orig/make.inc SuperLU_4.3/make.inc
|
||||
--- SuperLU_4.3.orig/make.inc 2011-10-27 21:49:47.000000000 +0200
|
||||
+++ SuperLU_4.3/make.inc 2013-01-08 21:28:11.755985160 +0100
|
||||
@@ -21,14 +21,15 @@
|
||||
#
|
||||
# The name of the libraries to be created/linked to
|
||||
#
|
||||
-SuperLUroot = $(HOME)/Codes/SuperLU/SuperLU_4.2
|
||||
-SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_4.2.a
|
||||
+SuperLUroot = ../
|
||||
+SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_4.3.a
|
||||
+SUPERLUSLIB = -L../lib -lsuperlu
|
||||
TMGLIB = libtmglib.a
|
||||
|
||||
## BLASLIB = $(SuperLUroot)/lib/libblas.a
|
||||
|
||||
BLASDEF = -DUSE_VENDOR_BLAS
|
||||
-BLASLIB = -L$(HOME)/lib/GotoBLAS -lgoto
|
||||
+BLASLIB = -lblas
|
||||
|
||||
## ATLAS BLAS causes single-precision to fail
|
||||
#BLASLIB = -L/usr/lib/atlas -lblas
|
||||
@@ -46,12 +47,19 @@
|
||||
RANLIB = ranlib
|
||||
|
||||
CC = gcc
|
||||
-CFLAGS = -DPRNTlevel=0 -O3
|
||||
-NOOPTS =
|
||||
-FORTRAN = g77
|
||||
-FFLAGS = -O2
|
||||
-LOADER = $(CC)
|
||||
-LOADOPTS =
|
||||
+CFLAGS = $(RPM_OPT_FLAGS) -fPIC -fschedule-insns2 \
|
||||
+ -funroll-loops -fstrict-aliasing -frerun-loop-opt \
|
||||
+ -ftree-vectorize -funit-at-a-time
|
||||
+ifeq ($(MACH),i386)
|
||||
+ CFLAGS += -mtune=pentium-m -momit-leaf-frame-pointer # -ffast-math -msse2 -mfpmath=sse
|
||||
+else
|
||||
+ CFLAGS += -O3 -finline-limit=720 --param max-inline-insns-auto=160
|
||||
+endif
|
||||
+NOOPTS = $(RPM_OPT_FLAGS) -Os -fPIC
|
||||
+FORTRAN = gfortran
|
||||
+FFLAGS = $(CFLAGS)
|
||||
+LOADER = gcc
|
||||
+LOADOPTS =
|
||||
|
||||
#
|
||||
# C preprocessor defs for compilation for the Fortran interface
|
||||
@@ -61,5 +69,5 @@
|
||||
#
|
||||
# The directory in which Matlab is installed
|
||||
#
|
||||
-MATLAB = /usr/sww/matlab
|
||||
+#MATLAB = /usr/sww/matlab
|
||||
|
||||
diff -aruN SuperLU_4.3.orig/TESTING/Makefile SuperLU_4.3/TESTING/Makefile
|
||||
--- SuperLU_4.3.orig/TESTING/Makefile 2011-10-27 21:49:47.000000000 +0200
|
||||
+++ SuperLU_4.3/TESTING/Makefile 2013-01-08 21:12:51.444017656 +0100
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
./stest: $(SLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
|
||||
$(LOADER) $(LOADOPTS) $(SLINTST) $(ALINTST) \
|
||||
- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
|
||||
+ $(TMGLIB) $(SUPERLUSLIB) $(BLASLIB) -lm -o $@
|
||||
|
||||
stest.out: stest stest.csh
|
||||
@echo Testing SINGLE PRECISION linear equation routines
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
./dtest: $(DLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
|
||||
$(LOADER) $(LOADOPTS) $(DLINTST) $(ALINTST) \
|
||||
- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
|
||||
+ $(TMGLIB) $(SUPERLUSLIB) $(BLASLIB) -lm -o $@
|
||||
|
||||
dtest.out: dtest dtest.csh
|
||||
@echo Testing DOUBLE PRECISION linear equation routines
|
||||
@@ -74,7 +74,7 @@
|
||||
|
||||
./ctest: $(CLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
|
||||
$(LOADER) $(LOADOPTS) $(CLINTST) $(ALINTST) \
|
||||
- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
|
||||
+ $(TMGLIB) $(SUPERLUSLIB) $(BLASLIB) -lm -o $@
|
||||
|
||||
ctest.out: ctest ctest.csh
|
||||
@echo Testing SINGLE COMPLEX linear equation routines
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
./ztest: $(ZLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
|
||||
$(LOADER) $(LOADOPTS) $(ZLINTST) $(ALINTST) \
|
||||
- $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@
|
||||
+ $(TMGLIB) $(SUPERLUSLIB) $(BLASLIB) -lm -o $@
|
||||
|
||||
ztest.out: ztest ztest.csh
|
||||
@echo Testing DOUBLE COMPLEX linear equation routines
|
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,22 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 14 12:56:22 UTC 2016 - badshah400@gmail.com
|
||||
|
||||
- Use system blas by passing the cmake option
|
||||
-DUSE_XSDK_DEFAULTS='TRUE'.
|
||||
- Disable building tests for now because they have linking issues.
|
||||
- Use cmake macros wherever appropriate.
|
||||
- A minimum of cmake >= 2.8.12 is required for building.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
- superlu-4.3.diff, superlu-4.3-remove-hsl.patch: removed
|
||||
- superlu-5.2-remove-mc64ad.patch: new, routine was removed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 29 09:34:51 UTC 2015 - dimstar@opensuse.org
|
||||
|
||||
|
67
superlu.spec
67
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: blas-devel
|
||||
BuildRequires: cmake >= 2.8.12
|
||||
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,15 @@ developing applications that use %{name}.
|
||||
cp %SOURCE1 %SOURCE2 ./
|
||||
|
||||
%build
|
||||
make lib
|
||||
# FIXME: Drop the -Denable_tests=OFF flag when MATGEN linking issues are resolved
|
||||
%cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release -DUSE_XSDK_DEFAULTS='TRUE' -Denable_tests=OFF
|
||||
|
||||
mkdir tmp
|
||||
(cd tmp; ar -x ../lib/libsuperlu_%{version}.a)
|
||||
gfortran -shared -Wl,-soname,libsuperlu.so.4 -o lib/libsuperlu.so tmp/*.o
|
||||
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
|
||||
%cmake_install
|
||||
|
||||
#fix permissions
|
||||
chmod 644 MATLAB/*
|
||||
@ -119,11 +112,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