diff --git a/SPECS-EXTENDED/SuperLU/SuperLU-5.2.1-set_soname.patch b/SPECS-EXTENDED/SuperLU/SuperLU-5.2.1-set_soname.patch deleted file mode 100644 index d362e87bc98..00000000000 --- a/SPECS-EXTENDED/SuperLU/SuperLU-5.2.1-set_soname.patch +++ /dev/null @@ -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) diff --git a/SPECS-EXTENDED/SuperLU/SuperLU-fedora-make.inc.in b/SPECS-EXTENDED/SuperLU/SuperLU-fedora-make.inc.in new file mode 100644 index 00000000000..6163479efde --- /dev/null +++ b/SPECS-EXTENDED/SuperLU/SuperLU-fedora-make.inc.in @@ -0,0 +1,49 @@ +############################################################################ +# +# Program: SuperLU +# +# Module: make.inc +# +# Purpose: Top-level Definitions +# +# Creation date: May 10, 2015 +# +# Modified: +# +# +############################################################################ +# +# The name of the libraries to be created/linked to +# +SuperLUroot = ${CMAKE_SOURCE_DIR}/build +# +# SuperLUroot = ${CMAKE_INSTALL_PREFIX} +SUPERLULIB = $(SuperLUroot)/SRC/${PROJECT_NAME_LIB_EXPORT} + +#TMGLIB = libtmglib.a + +# BLASDEF = -DUSE_VENDOR_BLAS +BLASLIB = $(TPL_BLAS_LIBRARIES) +LIBS = $(SUPERLULIB) $(BLASLIB) + +# +# The archiver and the flag(s) to use when building archive (library) +# If your system has no ranlib, set RANLIB = echo. +# +ARCH = @CMAKE_AR@ +ARCHFLAGS = cr +RANLIB = @CMAKE_RANLIB@ + +CC = @CMAKE_C_COMPILER@ +CFLAGS = @CMAKE_C_FLAGS_RELEASE@ @CMAKE_C_FLAGS@ +NOOPTS = +FORTRAN = @CMAKE_Fortran_COMPILER@ +FFLAGS = @CMAKE_Fortran_FLAGS_RELEASE@ + +LOADER = $(CC) +LOADOPTS = $(LDFLAGS) + +# +# The directory in which Matlab is installed +# +MATLAB = /Applications/MATLAB_R2015b.app diff --git a/SPECS-EXTENDED/SuperLU/SuperLU-fix_example_builds.patch b/SPECS-EXTENDED/SuperLU/SuperLU-fix_example_builds.patch new file mode 100644 index 00000000000..aa1c4b729d3 --- /dev/null +++ b/SPECS-EXTENDED/SuperLU/SuperLU-fix_example_builds.patch @@ -0,0 +1,54 @@ +--- a/EXAMPLE/Makefile.orig 2020-10-18 00:23:21.000000000 +0200 ++++ b/EXAMPLE/Makefile 2021-01-29 17:58:26.396762602 +0100 +@@ -101,10 +101,10 @@ + $(LOADER) $(LOADOPTS) $(SLINXEXM3) $(LIBS) -lm -o $@ + + sitersol: $(SITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(SITSOL) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(SITSOL) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + sitersol1: $(SITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(SITSOL1) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(SITSOL1) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + dlinsol: $(DLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(DLINEXM) $(LIBS) -lm -o $@ +@@ -128,10 +128,10 @@ + $(LOADER) $(LOADOPTS) $(SUPERLUEXM) $(LIBS) -lm -o $@ + + ditersol: $(DITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(DITSOL) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(DITSOL) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + ditersol1: $(DITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(DITSOL1) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(DITSOL1) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + clinsol: $(CLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(CLINEXM) $(LIBS) -lm -o $@ +@@ -152,10 +152,10 @@ + $(LOADER) $(LOADOPTS) $(CLINXEXM3) $(LIBS) -lm -o $@ + + citersol: $(CITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(CITSOL) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(CITSOL) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + citersol1: $(CITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(CITSOL1) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(CITSOL1) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + zlinsol: $(ZLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(ZLINEXM) $(LIBS) -lm -o $@ +@@ -176,10 +176,10 @@ + $(LOADER) $(LOADOPTS) $(ZLINXEXM3) $(LIBS) -lm -o $@ + + zitersol: $(ZITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(ZITSOL) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(ZITSOL) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + zitersol1: $(ZITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(ZITSOL1) $(LIBS) -lm -o $@ ++ $(LOADER) $(LOADOPTS) $(ZITSOL1) $(LIBS) $(TPL_BLAS_LIBRARIES) -lm -o $@ + + .c.o: + $(CC) $(CFLAGS) $(CDEFS) $(INCLUDEDIR) -c $< $(VERBOSE) diff --git a/SPECS-EXTENDED/SuperLU/SuperLU.signatures.json b/SPECS-EXTENDED/SuperLU/SuperLU.signatures.json index cc3b1ea0c57..caf347b9ef7 100644 --- a/SPECS-EXTENDED/SuperLU/SuperLU.signatures.json +++ b/SPECS-EXTENDED/SuperLU/SuperLU.signatures.json @@ -1,5 +1,7 @@ { "Signatures": { - "superlu-5.2.1.tar.gz": "28fb66d6107ee66248d5cf508c79de03d0621852a0ddeba7301801d3d859f463" + "superlu-7.0.0.tar.gz": "d7b91d4e0bb52644ca74c1a4dd466a694ddf1244a7bbf93cb453e8ca1f6527eb", + "SuperLU-fedora-make.inc.in": "e918165e7039b02bb5e67896aed16875f8d6946e0e9aed2f6dfbd9618fad3a5e" } } + diff --git a/SPECS-EXTENDED/SuperLU/SuperLU.spec b/SPECS-EXTENDED/SuperLU/SuperLU.spec index 1d55e96e929..c629ed173f8 100644 --- a/SPECS-EXTENDED/SuperLU/SuperLU.spec +++ b/SPECS-EXTENDED/SuperLU/SuperLU.spec @@ -1,7 +1,6 @@ Vendor: Microsoft Corporation Distribution: Azure Linux %global genname superlu -%global libver 5 ## The RPM macro for the linker flags does not exist on EPEL %if 0%{?rhel} && 0%{?rhel} < 7 @@ -9,26 +8,31 @@ Distribution: Azure Linux %endif Name: SuperLU -Version: 5.2.1 -Release: 10%{?dist} +Version: 7.0.0 +Release: 1%{?dist} Summary: Subroutines to solve sparse linear systems -License: BSD and GPLv2+ +License: BSD-2-Clause AND GPL-2.0-or-later URL: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/ -Source0: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/%{genname}_%{version}.tar.gz#/%{genname}-%{version}.tar.gz -Patch0: %{genname}-cmake-includedir.patch -Patch1: %{genname}-removemc64.patch -# Patch soname (5 -> 5.2) of shared library -Patch2: %{name}-%{version}-set_soname.patch +Source0: https://github.com/xiaoyeli/%{genname}/archive/refs/tags/v%{version}.tar.gz#/%{genname}-%{version}.tar.gz -BuildRequires: openblas-devel, openblas-srpm-macros -BuildRequires: gcc +# Use a pre-made configuration file for Make +Source1: %{name}-fedora-make.inc.in +Patch0: %{genname}-removemc64.patch + +# Fix ldflags of example files +Patch1: %{name}-fix_example_builds.patch + +BuildRequires: openblas-devel, openblas-srpm-macros +BuildRequires: metis-devel +BuildRequires: gcc %if 0%{?rhel} -BuildRequires: epel-rpm-macros +BuildRequires: epel-rpm-macros %endif -BuildRequires: cmake3 -BuildRequires: gcc-gfortran -BuildRequires: csh +BuildRequires: make +BuildRequires: cmake +BuildRequires: gcc-gfortran +BuildRequires: csh %description SuperLU contains a set of subroutines to solve a sparse linear system @@ -53,10 +57,17 @@ The %{name}-doc package contains all the help documentation along with C and FORTRAN examples. %prep -%autosetup -n %{name}_%{version} -p1 +%autosetup -n %{genname}-%{version} -p1 + +rm -f make.inc +cp -pf %{SOURCE1} make.inc.in + +# Remove bundled BLAS +rm -rf CBLAS rm -fr SRC/mc64ad.f.bak find . -type f | sed -e "/TESTING/d" | xargs chmod a-x + # Remove the shippped executables from EXAMPLE find EXAMPLE -type f | while read file do @@ -64,38 +75,50 @@ do done # Change optimization level -sed -i.bak '/NOOPTS/d' make.inc.in sed -e 's|-O0|-O2|g' -i SRC/CMakeLists.txt %build -mkdir -p build; cd build - -# Do not use bundled CBLAS code -%cmake3 -Denable_blaslib:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release .. -%make_build +%cmake \ + -Denable_internal_blaslib:BOOL=NO \ + -DXSDK_ENABLE_Fortran:BOOL=OFF \ + -DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{__global_fflags}" \ + -DTPL_BLAS_LIBRARIES="`pkg-config --libs flexiblas`" \ + -DTPL_ENABLE_METISLIB:BOOL=ON \ + -DTPL_METIS_INCLUDE_DIRS:PATH=%{_includedir} \ + -DTPL_METIS_LIBRARIES:FILEPATH=%{_libdir}/libmetis.so \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=include/%{name} \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ + -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES +%cmake_build %install -%make_install -C build +%cmake_install %check -pushd build -ctest3 -V %{?_smp_mflags} -popd - -%ldconfig_scriptlets +export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:MATGEN +%ctest %files %license License.txt -%{_libdir}/libsuperlu.so.%{libver}* +%{_libdir}/libsuperlu.so.7 +%{_libdir}/libsuperlu.so.%{version} %files devel -%{_includedir}/%{name}/ +%{_includedir}/ %{_libdir}/libsuperlu.so +%{_libdir}/cmake/%{genname}/ +%{_libdir}/pkgconfig/%{genname}.pc %files doc +%license License.txt %doc DOC EXAMPLE FORTRAN %changelog +* Tue Oct 15 2024 Jyoti Kanase - 7.0.0-1 +- Update to 7.0.0 +-License verified + * Sat Jul 24 2021 Pawel Winogrodzki - 5.2.1-10 - Removing unused BR on "atlas". diff --git a/SPECS-EXTENDED/SuperLU/superlu-cmake-includedir.patch b/SPECS-EXTENDED/SuperLU/superlu-cmake-includedir.patch deleted file mode 100644 index c9558795fd0..00000000000 --- a/SPECS-EXTENDED/SuperLU/superlu-cmake-includedir.patch +++ /dev/null @@ -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 - ) diff --git a/SPECS-EXTENDED/SuperLU/superlu-removemc64.patch b/SPECS-EXTENDED/SuperLU/superlu-removemc64.patch index 58596b8643d..f8ee77eef45 100644 --- a/SPECS-EXTENDED/SuperLU/superlu-removemc64.patch +++ b/SPECS-EXTENDED/SuperLU/superlu-removemc64.patch @@ -1,5 +1,5 @@ ---- 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 +--- a/SRC/mc64ad.c 2016-05-22 17:58:44.000000000 +0200 ++++ b/SRC/mc64ad.c 2018-04-13 17:13:23.571981656 +0200 @@ -1,2645 +1,16 @@ -/* mc64ad.f -- translated by f2c (version 20100827). - You must link the resulting object file with libf2c: @@ -9,9 +9,7 @@ - -- in that order, at the end of the command line, as in - cc *.o -lf2c -lm - Source for libf2c is in /netlib/f2c/libf2c.zip, e.g., -+#include -+#include - +- - http://www.netlib.org/f2c/libf2c.zip -*/ - @@ -119,7 +117,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 +133,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 +345,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 +355,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 +365,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 +390,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 +414,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 +438,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 +450,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 +464,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 +620,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 +661,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 +684,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 +1093,6 @@ -{ - /* System generated locals */ - int_t i__1; -- int_t c__1 = 1; - - /* Local variables */ - double di; @@ -1550,11 +1548,10 @@ - -/* ********************************************************************** */ -/* 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) - { +-{ - /* System generated locals */ - int_t i__1, i__2, i__3, i__4; - @@ -1562,11 +1559,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 *** */ @@ -2165,7 +2163,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 +2183,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 */ @@ -2649,6 +2646,11 @@ -} /* mc64wd_ */ - - ++#include ++#include ++ ++void mc64id_(int *a) ++ { + fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n"); + abort(); +} @@ -2660,3 +2662,4 @@ + fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n"); + abort(); +} + diff --git a/cgmanifest.json b/cgmanifest.json index 48217c97ab4..7c94582d586 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -28186,8 +28186,8 @@ "type": "other", "other": { "name": "SuperLU", - "version": "5.2.1", - "downloadUrl": "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_5.2.1.tar.gz" + "version": "7.0.0", + "downloadUrl": "https://github.com/xiaoyeli/superlu/archive/refs/tags/v7.0.0.tar.gz" } } },