Upgrade version to 6.0.1
Signed-off-by: cherry530 <707078654@qq.com>
This commit is contained in:
parent
1379512416
commit
d12e81c414
@ -1,11 +0,0 @@
|
||||
--- a/SRC/CMakeLists.orig.txt 2018-04-25 15:17:39.786715000 +0200
|
||||
+++ b/SRC/CMakeLists.txt 2018-04-25 15:25:00.253317607 +0200
|
||||
@@ -230,7 +230,7 @@
|
||||
|
||||
target_link_libraries(superlu ${BLAS_LIB} m)
|
||||
set_target_properties(superlu PROPERTIES
|
||||
- VERSION ${PROJECT_VERSION} SOVERSION ${VERSION_MAJOR}
|
||||
+ VERSION ${PROJECT_VERSION} SOVERSION ${VERSION_MAJOR}.${VERSION_MINOR}
|
||||
)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
22
SuperLU.spec
22
SuperLU.spec
@ -1,17 +1,12 @@
|
||||
Name: SuperLU
|
||||
Version: 5.2.1
|
||||
Release: 7
|
||||
Version: 6.0.1
|
||||
Release: 1
|
||||
Summary: Library for the direct solution of large, sparse, nonsymmetric systems of linear equations
|
||||
License: BSD and GPLv2+
|
||||
URL: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/
|
||||
Source0: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_%{version}.tar.gz
|
||||
Source0: https://github.com/xiaoyeli/superlu/archive/v%{version}/superlu-%{version}.tar.gz
|
||||
BuildRequires: openblas-devel openblas-srpm-macros cmake3 gcc-gfortran csh
|
||||
# Fixed include path for building
|
||||
Patch0000: superlu-cmake-includedir.patch
|
||||
# Remove MC64 functionality
|
||||
Patch0001: superlu-removemc64.patch
|
||||
# Add minor version for target properties
|
||||
Patch0002: SuperLU-5.2.1-set_soname.patch
|
||||
|
||||
%description
|
||||
The library is written in C and is callable from either C or Fortran program. It uses MPI, OpenMP and
|
||||
@ -36,7 +31,7 @@ Requires: SuperLU = %{version}-%{release}
|
||||
The package contains all the help documentation along with C and FORTRAN examples.
|
||||
|
||||
%prep
|
||||
%autosetup -n SuperLU_%{version} -p1
|
||||
%autosetup -n superlu-%{version} -p1
|
||||
rm -fr SRC/mc64ad.f.bak
|
||||
find . -type f | sed -e "/TESTING/d" | xargs chmod a-x
|
||||
find EXAMPLE -type f | while read file; do [ "$(file $file | awk '{print $2}')" = ELF ] && rm $file || : ; done
|
||||
@ -61,16 +56,21 @@ cd -
|
||||
|
||||
%files
|
||||
%doc License.txt
|
||||
%{_libdir}/libsuperlu.so.5*
|
||||
%{_libdir}/libsuperlu.so.6*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/SuperLU/
|
||||
%{_includedir}/*
|
||||
%{_libdir}/libsuperlu.so
|
||||
%{_libdir}/cmake/superlu/
|
||||
%{_libdir}/pkgconfig/superlu.pc
|
||||
|
||||
%files help
|
||||
%doc DOC EXAMPLE FORTRAN
|
||||
|
||||
%changelog
|
||||
* Tue Sep 26 2023 xu_ping <707078654@qq.com> - 6.0.1-1
|
||||
- Upgrade version to 6.0.1
|
||||
|
||||
* Thu Mar 5 2020 Ling Yang <lingyang2@huawei.com> - 5.2.1-6
|
||||
- Package Init
|
||||
|
||||
|
||||
4
SuperLU.yaml
Normal file
4
SuperLU.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: git
|
||||
src_repo: https://github.com/xiaoyeli/superlu
|
||||
tag_prefix: ^v
|
||||
separator: .
|
||||
BIN
superlu-6.0.1.tar.gz
Normal file
BIN
superlu-6.0.1.tar.gz
Normal file
Binary file not shown.
@ -1,9 +0,0 @@
|
||||
--- SuperLU_5.2.1/SRC/CMakeLists.txt 2018-04-13 17:01:44.007761121 +0200
|
||||
+++ CMakeLists.txt 2018-04-13 17:01:30.573718261 +0200
|
||||
@@ -242,5 +242,5 @@
|
||||
|
||||
install(FILES ${headers}
|
||||
# DESTINATION ${CMAKE_INSTALL_PREFIX}/include
|
||||
- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SuperLU
|
||||
)
|
||||
@ -1,5 +1,7 @@
|
||||
--- SuperLU_5.2.1/SRC/mc64ad.c 2016-05-22 17:58:44.000000000 +0200
|
||||
+++ mc64ad.c 2018-04-13 17:13:23.571981656 +0200
|
||||
diff --git a/SRC/mc64ad.c b/SRC/mc64ad.c
|
||||
index 97fa736..3f6b884 100644
|
||||
--- a/SRC/mc64ad.c
|
||||
+++ b/SRC/mc64ad.c
|
||||
@@ -1,2645 +1,16 @@
|
||||
-/* mc64ad.f -- translated by f2c (version 20100827).
|
||||
- You must link the resulting object file with libf2c:
|
||||
@ -119,7 +121,7 @@
|
||||
-
|
||||
-/* ********************************************************************** */
|
||||
-/* Subroutine */ int_t mc64ad_(int_t *job, int_t *n, int_t *ne, int_t *
|
||||
- ip, int_t *irn, double *a, int_t *num, int_t *cperm,
|
||||
- ip, int_t *irn, double *a, int_t *num, int *cperm,
|
||||
- int_t *liw, int_t *iw, int_t *ldw, double *dw, int_t *
|
||||
- icntl, int_t *info)
|
||||
-{
|
||||
@ -135,16 +137,17 @@
|
||||
- double fact, rinf;
|
||||
-
|
||||
- extern /* Subroutine */ int_t mc21ad_(int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, int_t *, int_t *, int_t *), mc64bd_(
|
||||
- int_t *, int_t *, int_t *, int_t *, double *, int_t
|
||||
- *, int_t *, int_t *, int_t *, int_t *, int_t *,
|
||||
- double *), mc64rd_(int_t *, int_t *, int_t *, int_t *,
|
||||
- double *), mc64sd_(int_t *, int_t *, int_t *, int_t *
|
||||
- , double *, int_t *, int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, int_t *, int_t *, int_t *), mc64wd_(
|
||||
- int_t *, int_t *, int_t *, int_t *, double *, int_t
|
||||
- *, int_t *, int_t *, int_t *, int_t *, int_t *, int_t
|
||||
- *, double *, double *);
|
||||
- int_t *, int_t *, int_t *, int_t *, int_t *),
|
||||
- mc64bd_(int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a,
|
||||
- int *iperm, int_t *num, int_t *jperm,
|
||||
- int_t *pr, int_t *q, int_t *l, double *d__),
|
||||
- mc64rd_(int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a),
|
||||
- mc64sd_(int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a,
|
||||
- int *iperm, int_t *numx, int_t *w, int_t *len, int_t *lenl,
|
||||
- int_t *lenh, int_t *fc, int_t *iw, int_t *iw4),
|
||||
- mc64wd_(int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a,
|
||||
- int *iperm, int_t *num, int_t *jperm, int_t *out,
|
||||
- int_t *pr, int_t *q, int_t *l, double *u, double *d__);
|
||||
-
|
||||
-/* *** Copyright (c) 1999 Council for the Central Laboratory of the */
|
||||
-/* Research Councils *** */
|
||||
@ -346,7 +349,7 @@
|
||||
- info[2] = *job;
|
||||
- if (icntl[1] >= 0) {
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d"
|
||||
- " because JOB = %d\n", info[1], *job);
|
||||
- " because JOB = %d\n", (int) info[1], (int) *job);
|
||||
- }
|
||||
- goto L99;
|
||||
- }
|
||||
@ -356,7 +359,7 @@
|
||||
- info[2] = *n;
|
||||
- if (icntl[1] >= 0) {
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d"
|
||||
- " because N = %d\n", info[1], *job);
|
||||
- " because N = %d\n", (int) info[1], (int) *job);
|
||||
- }
|
||||
- goto L99;
|
||||
- }
|
||||
@ -366,7 +369,7 @@
|
||||
- info[2] = *ne;
|
||||
- if (icntl[1] >= 0) {
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d"
|
||||
- " because NE = %d\n", info[1], *job);
|
||||
- " because NE = %d\n", (int) info[1], (int) *job);
|
||||
- }
|
||||
- goto L99;
|
||||
- }
|
||||
@ -391,7 +394,7 @@
|
||||
- info[2] = k;
|
||||
- if (icntl[1] >= 0) {
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d"
|
||||
- " LIW too small, must be at least %8d\n", info[1], k);
|
||||
- " LIW too small, must be at least %8d\n", (int) info[1], (int) k);
|
||||
- }
|
||||
- goto L99;
|
||||
- }
|
||||
@ -415,7 +418,7 @@
|
||||
- info[2] = k;
|
||||
- if (icntl[1] >= 0) {
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d"
|
||||
- " LDW too small, must be at least %8d\n", info[1], k);
|
||||
- " LDW too small, must be at least %8d\n", (int) info[1], (int) k);
|
||||
- }
|
||||
- goto L99;
|
||||
- }
|
||||
@ -439,7 +442,7 @@
|
||||
- if (icntl[1] >= 0) {
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d Column %8d"
|
||||
- " contains an entry with invalid row index %8d\n",
|
||||
- info[1], j, i__);
|
||||
- (int) info[1], (int) j, (int) i__);
|
||||
- }
|
||||
- goto L99;
|
||||
- }
|
||||
@ -451,7 +454,7 @@
|
||||
- printf(" ****** Error in MC64A/AD. INFO(1) = %2d"
|
||||
- " Column %8d"
|
||||
- " contains two or more entries with row index %8d\n",
|
||||
- info[1], j, i__);
|
||||
- (int) info[1], (int) j, (int) i__);
|
||||
- }
|
||||
- goto L99;
|
||||
- } else {
|
||||
@ -465,15 +468,15 @@
|
||||
-/* Print diagnostics on input */
|
||||
- if (icntl[3] >= 0) {
|
||||
- printf(" ****** Input parameters for MC64A/AD: JOB = %8d,"
|
||||
- " N = %d, NE = %8d\n", *job, *n, *ne);
|
||||
- " N = %d, NE = %8d\n", (int) *job, (int) *n, (int) *ne);
|
||||
- printf(" IP(1:N+1) = ");
|
||||
- for (j=1; j<=(*n+1); ++j) {
|
||||
- printf("%8d", ip[j]);
|
||||
- printf("%8d", (int) ip[j]);
|
||||
- if (j%8 == 0) printf("\n");
|
||||
- }
|
||||
- printf("\n IRN(1:NE) = ");
|
||||
- for (j=1; j<=(*ne); ++j) {
|
||||
- printf("%8d", irn[j]);
|
||||
- printf("%8d", (int) irn[j]);
|
||||
- if (j%8 == 0) printf("\n");
|
||||
- }
|
||||
- printf("\n");
|
||||
@ -621,24 +624,24 @@
|
||||
- info[1] = 1;
|
||||
- if (icntl[2] >= 0) {
|
||||
- printf(" ****** Warning from MC64A/AD. INFO(1) = %2d"
|
||||
- " The matrix is structurally singular.\n", info[1]);
|
||||
- " The matrix is structurally singular.\n", (int)info[1]);
|
||||
- }
|
||||
- }
|
||||
- if (info[1] == 2) {
|
||||
-/* Scaling factors are large, return with warning */
|
||||
- if (icntl[2] >= 0) {
|
||||
- printf(" ****** Warning from MC64A/AD. INFO(1) = %2d\n"
|
||||
- " Some scaling factors may be too large.\n", info[1]);
|
||||
- " Some scaling factors may be too large.\n", (int) info[1]);
|
||||
- }
|
||||
- }
|
||||
-/* Print diagnostics on output */
|
||||
- if (icntl[3] >= 0) {
|
||||
- printf(" ****** Output parameters for MC64A/AD: INFO(1:2) = %8d%8d\n",
|
||||
- info[1], info[2]);
|
||||
- printf(" NUM = %8d", *num);
|
||||
- (int) info[1], (int) info[2]);
|
||||
- printf(" NUM = %8d", (int) *num);
|
||||
- printf(" CPERM(1:N) = ");
|
||||
- for (j=1; j<=*n; ++j) {
|
||||
- printf("%8d", cperm[j]);
|
||||
- printf("%8d", (int) cperm[j]);
|
||||
- if (j%8 == 0) printf("\n");
|
||||
- }
|
||||
- if (*job == 5) {
|
||||
@ -662,7 +665,7 @@
|
||||
-
|
||||
-/* ********************************************************************** */
|
||||
-/* Subroutine */ int_t mc64bd_(int_t *n, int_t *ne, int_t *ip, int_t *
|
||||
- irn, double *a, int_t *iperm, int_t *num, int_t *jperm,
|
||||
- irn, double *a, int *iperm, int_t *num, int_t *jperm,
|
||||
- int_t *pr, int_t *q, int_t *l, double *d__)
|
||||
-{
|
||||
- /* System generated locals */
|
||||
@ -685,10 +688,10 @@
|
||||
- double dnew;
|
||||
- int_t jord, qlen, idum, jdum;
|
||||
- double rinf;
|
||||
- extern /* Subroutine */ int_t mc64dd_(int_t *, int_t *, int_t *,
|
||||
- double *, int_t *, int_t *), mc64ed_(int_t *, int_t *,
|
||||
- int_t *, double *, int_t *, int_t *), mc64fd_(int_t *
|
||||
- , int_t *, int_t *, int_t *, double *, int_t *, int_t *);
|
||||
- extern /* Subroutine */ int_t
|
||||
- mc64dd_(int_t *, int_t *, int_t *, double *, int_t *, int_t *),
|
||||
- mc64ed_(int_t *, int_t *, int_t *, double *, int_t *, int_t *),
|
||||
- mc64fd_(int_t *, int_t *, int_t *, int_t *, double *, int_t *, int_t *);
|
||||
-
|
||||
-
|
||||
-/* *** Copyright (c) 1999 Council for the Central Laboratory of the */
|
||||
@ -1094,7 +1097,6 @@
|
||||
-{
|
||||
- /* System generated locals */
|
||||
- int_t i__1;
|
||||
- int_t c__1 = 1;
|
||||
-
|
||||
- /* Local variables */
|
||||
- double di;
|
||||
@ -1550,7 +1552,7 @@
|
||||
-
|
||||
-/* ********************************************************************** */
|
||||
-/* Subroutine */ int_t mc64sd_(int_t *n, int_t *ne, int_t *ip, int_t *
|
||||
- irn, double *a, int_t *iperm, int_t *numx, int_t *w,
|
||||
- irn, double *a, int *iperm, int_t *numx, int_t *w,
|
||||
- int_t *len, int_t *lenl, int_t *lenh, int_t *fc, int_t *iw,
|
||||
- int_t *iw4)
|
||||
+void mc64id_(int *a)
|
||||
@ -1562,11 +1564,12 @@
|
||||
- int_t i__, j, k, l, ii, mod, cnt, num;
|
||||
- double bval, bmin, bmax, rinf;
|
||||
- int_t nval, wlen, idum1, idum2, idum3;
|
||||
- extern /* Subroutine */ int_t mc64qd_(int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, double *, int_t *, double *),
|
||||
- mc64ud_(int_t *, int_t *, int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, int_t *, int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, int_t *, int_t *);
|
||||
- extern /* Subroutine */ int_t
|
||||
- mc64qd_(int_t *, int_t *, int_t *, int_t *, int_t *, double *,
|
||||
- int_t *, double *),
|
||||
- mc64ud_(int_t *, int_t *, int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, int_t *, int_t *, int_t *, int_t *,
|
||||
- int_t *, int_t *, int_t *, int_t *);
|
||||
-
|
||||
-/* *** Copyright (c) 1999 Council for the Central Laboratory of the */
|
||||
-/* Research Councils *** */
|
||||
@ -1576,7 +1579,10 @@
|
||||
-/* *** any of the subroutines. *** */
|
||||
-/* *** Any problems? Contact ... */
|
||||
-/* Iain Duff (I.Duff@rl.ac.uk) or Jacko Koster (jak@ii.uib.no) *** */
|
||||
-
|
||||
+ fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n");
|
||||
+ abort();
|
||||
+}
|
||||
|
||||
-/* N, NE, IP, IRN, are described in MC64A/AD. */
|
||||
-/* A is a REAL (DOUBLE PRECISION in the D-version) array of length NE. */
|
||||
-/* A(K), K=1..NE, must be set to the value of the entry that */
|
||||
@ -1869,7 +1875,10 @@
|
||||
-/* Subroutine */ int_t mc64qd_(int_t *ip, int_t *lenl, int_t *lenh,
|
||||
- int_t *w, int_t *wlen, double *a, int_t *nval, double *
|
||||
- val)
|
||||
-{
|
||||
+void mc64ad_(int *a, int *b, int *c, int d[], int e[], double f[],
|
||||
+ int *g, int h[], int *i, int j[], int *k, double l[],
|
||||
+ int m[], int n[])
|
||||
{
|
||||
- /* System generated locals */
|
||||
- int_t i__1, i__2, i__3;
|
||||
-
|
||||
@ -2165,7 +2174,7 @@
|
||||
-
|
||||
-/* ********************************************************************** */
|
||||
-/* Subroutine */ int_t mc64wd_(int_t *n, int_t *ne, int_t *ip, int_t *
|
||||
- irn, double *a, int_t *iperm, int_t *num, int_t *jperm,
|
||||
- irn, double *a, int *iperm, int_t *num, int_t *jperm,
|
||||
- int_t *out, int_t *pr, int_t *q, int_t *l, double *u,
|
||||
- double *d__)
|
||||
-{
|
||||
@ -2185,11 +2194,10 @@
|
||||
- double dmin__, dnew;
|
||||
- int_t jord, qlen, jdum;
|
||||
- double rinf;
|
||||
- extern /* Subroutine */ int_t mc64dd_(int_t *, int_t *, int_t *,
|
||||
- double *, int_t *, int_t *), mc64ed_(int_t *, int_t *,
|
||||
- int_t *, double *, int_t *, int_t *), mc64fd_(int_t *
|
||||
- , int_t *, int_t *, int_t *, double *, int_t *,
|
||||
- int_t *);
|
||||
- extern /* Subroutine */ int_t
|
||||
- mc64dd_(int_t *, int_t *, int_t *, double *, int_t *, int_t *),
|
||||
- mc64ed_(int_t *, int_t *, int_t *, double *, int_t *, int_t *),
|
||||
- mc64fd_(int_t *, int_t *, int_t *, int_t *, double *, int_t *, int_t *);
|
||||
-
|
||||
-
|
||||
-/* *** Copyright (c) 1999 Council for the Central Laboratory of the */
|
||||
@ -2652,11 +2660,3 @@
|
||||
+ fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n");
|
||||
+ abort();
|
||||
+}
|
||||
+
|
||||
+void mc64ad_(int *a, int *b, int *c, int d[], int e[], double f[],
|
||||
+ int *g, int h[], int *i, int j[], int *k, double l[],
|
||||
+ int m[], int n[])
|
||||
+{
|
||||
+ fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n");
|
||||
+ abort();
|
||||
+}
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user