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

@ -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 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-devel
BuildRequires: cmake >= 2.8.12
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,15 @@ developing applications that use %{name}.
cp %SOURCE1 %SOURCE2 ./ cp %SOURCE1 %SOURCE2 ./
%build %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 make %{?_smp_mflags}
(cd tmp; ar -x ../lib/libsuperlu_%{version}.a) cd ..
gfortran -shared -Wl,-soname,libsuperlu.so.4 -o lib/libsuperlu.so tmp/*.o
%install %install
mkdir -p %{buildroot}%{_libdir} %cmake_install
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
#fix permissions #fix permissions
chmod 644 MATLAB/* chmod 644 MATLAB/*
@ -119,11 +112,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