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:
Dominique Leuenberger 2016-07-07 13:07:50 +00:00 committed by Git OBS Bridge
commit c4096bd278
10 changed files with 107 additions and 186 deletions

View File

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

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

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

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

View File

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

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
oid sha256:cb9b6dca641582b8346fdb58f22bc0b1284b5cbf99a322f8094f824059be8e6a
size 382387
oid sha256:f66438fe62cbc455855813b914095a11fe7b96a700926b59bce8a1d8a4dbcdba
size 687318