public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Antonio Trande <sagitter@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/SuperLUMT] epel10: Release 4.0.2
Date: Sat, 26 Sep 2026 07:54:21 GMT	[thread overview]
Message-ID: <179040926127.1.12333743307275925554.rpms-SuperLUMT-4aa0ce24ae91@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/SuperLUMT
Branch : epel10
Commit : 4aa0ce24ae918774099b0c8e5051dcd67943487d
Author : Antonio Trande <sagitter@fedoraproject.org>
Date   : 2026-05-20T12:28:52+02:00
Stats  : +1384/-913 in 12 file(s)
URL    : https://src.fedoraproject.org/rpms/SuperLUMT/c/4aa0ce24ae918774099b0c8e5051dcd67943487d?branch=epel10

Log:
Release 4.0.2

---
diff --git a/.gitignore b/.gitignore
index e6d144a..96fe6ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /superlu_mt_3.1.tar.gz
 /superlu_mt-4.0.1.tar.gz
+/superlu_mt-4.0.2.tar.gz

diff --git a/SuperLUMT-build_shared.patch b/SuperLUMT-build_shared.patch
deleted file mode 100644
index 4be96cf..0000000
--- a/SuperLUMT-build_shared.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- SRC/Makefile.orig	2016-03-26 08:47:18.885503561 -0400
-+++ SRC/Makefile	2016-03-26 08:52:10.512497969 -0400
-@@ -101,36 +101,40 @@
- 
- all:    single double complex complex16
- 
--single: $(SLUSRC) $(ALLAUX) $(SZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(SLUSRC) $(ALLAUX) $(SZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
--
--double: $(DLUSRC) $(ALLAUX) $(DZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(DLUSRC) $(ALLAUX) $(DZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
--
--complex: $(CLUSRC) $(ALLAUX) $(SZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(CLUSRC) $(ALLAUX) $(SZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
--
--complex16: $(ZLUSRC) $(ALLAUX) $(DZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(ZLUSRC) $(ALLAUX) $(DZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
-+single: $(SLUSRC) $(ALLAUX) $(SZAUX) $(SLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt_s.so.$(SONAME) -o libsuperlumt_s.so.$(SONAME) \
-+	$(SLUSRC) $(ALLAUX) $(SZAUX) $(SLASRC)
-+	ln -sf libsuperlumt_s.so.$(SONAME) libsuperlumt_s.so
-+
-+double: $(DLUSRC) $(ALLAUX) $(DZAUX) $(DLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt_d.so.$(SONAME) -o libsuperlumt_d.so.$(SONAME) \
-+	$(DLUSRC) $(ALLAUX) $(DZAUX) $(DLASRC)
-+	ln -sf libsuperlumt_d.so.$(SONAME) libsuperlumt_d.so
-+
-+complex: $(CLUSRC) $(ALLAUX) $(SZAUX) $(CLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt_c.so.$(SONAME) -o libsuperlumt_c.so.$(SONAME) \
-+	$(CLUSRC) $(ALLAUX) $(SZAUX) $(CLASRC)
-+	ln -sf libsuperlumt_c.so.$(SONAME) libsuperlumt_c.so
-+
-+complex16: $(ZLUSRC) $(ALLAUX) $(DZAUX) $(ZLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt_z.so.$(SONAME) -o libsuperlumt_z.so.$(SONAME) \
-+	$(ZLUSRC) $(ALLAUX) $(DZAUX) $(ZLASRC)
-+	ln -sf libsuperlumt_z.so.$(SONAME) libsuperlumt_z.so
- 
- ##################################
- # Do not optimize this routine   #
- ##################################
--dlamch.o: dlamch.c ; $(CC) -c $(NOOPTS) $<
--slamch.o: slamch.c ; $(CC) -c $(NOOPTS) $<
--superlu_timer.o:  superlu_timer.c ; $(CC) -c $(PREDEFS) $(NOOPTS) $<
--dclock.o:  dclock.c ; $(CC) -c $(PREDEFS) $(NOOPTS) $<
-+slamch.o: slamch.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
-+dlamch.o: dlamch.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
-+superlu_timer.o:  superlu_timer.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $<
-+dclock.o:  dclock.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
- 
- # Do not optimize this on Cray; related to 'volatile' variable.
- await.o: await.c
- 	$(CC) -c $(NOOPTS) $< $(VERBOSE)
- 
- .c.o:
--	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
-+	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) $(BLASLIB) -c $< $(VERBOSE)
- 
- clean:	
- 	rm -f *.o core ../lib/$(SUPERLULIB)

diff --git a/SuperLUMT-fix_examples.patch b/SuperLUMT-fix_examples.patch
deleted file mode 100644
index 9054ec1..0000000
--- a/SuperLUMT-fix_examples.patch
+++ /dev/null
@@ -1,160 +0,0 @@
---- EXAMPLE/Makefile.orig	2015-04-29 02:32:29.000000000 +0200
-+++ EXAMPLE/Makefile	2016-03-29 14:49:09.238904138 +0200
-@@ -70,107 +70,107 @@
- ZREPOBJS	= pzrepeat.o
- ZSPMDOBJS       = pzspmd.o
- 
--pslinsol: $(SLINOBJS) ../lib/$(SUPERLULIB)
-+pslinsol: $(SLINOBJS) ../lib/libsuperlumt_s.so
- 	$(LOADER) $(LOADOPTS) $(SLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pslinsolx: pslinsolx.o ../lib/$(SUPERLULIB)
-+pslinsolx: pslinsolx.o ../lib/libsuperlumt_s.so
- 	$(LOADER) $(LOADOPTS) pslinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pslinsolx1: pslinsolx1.o ../lib/$(SUPERLULIB)
-+pslinsolx1: pslinsolx1.o ../lib/libsuperlumt_s.so
- 	$(LOADER) $(LOADOPTS) pslinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pslinsolx2: pslinsolx2.o ../lib/$(SUPERLULIB)
-+pslinsolx2: pslinsolx2.o ../lib/libsuperlumt_s.so
- 	$(LOADER) $(LOADOPTS) pslinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--psrepeat: $(SREPOBJS) ../lib/$(SUPERLULIB)
-+psrepeat: $(SREPOBJS) ../lib/libsuperlumt_s.so
- 	$(LOADER) $(LOADOPTS) $(SREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--psspmd: $(SSPMDOBJS) ../lib/$(SUPERLULIB)
-+psspmd: $(SSPMDOBJS) ../lib/libsuperlumt_s.so
- 	$(LOADER) $(LOADOPTS) $(SSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsol: $(DLINOBJS) ../lib/$(SUPERLULIB)
-+pdlinsol: $(DLINOBJS) ../lib/libsuperlumt_d.so
- 	$(LOADER) $(LOADOPTS) $(DLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsolx: pdlinsolx.o ../lib/$(SUPERLULIB)
-+pdlinsolx: pdlinsolx.o ../lib/libsuperlumt_d.so
- 	$(LOADER) $(LOADOPTS) pdlinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsolx1: pdlinsolx1.o ../lib/$(SUPERLULIB)
-+pdlinsolx1: pdlinsolx1.o ../lib/libsuperlumt_d.so
- 	$(LOADER) $(LOADOPTS) pdlinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsolx2: pdlinsolx2.o ../lib/$(SUPERLULIB)
-+pdlinsolx2: pdlinsolx2.o ../lib/libsuperlumt_d.so
- 	$(LOADER) $(LOADOPTS) pdlinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdrepeat: $(DREPOBJS) ../lib/$(SUPERLULIB)
-+pdrepeat: $(DREPOBJS) ../lib/libsuperlumt_d.so
- 	$(LOADER) $(LOADOPTS) $(DREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdspmd: $(DSPMDOBJS) ../lib/$(SUPERLULIB)
-+pdspmd: $(DSPMDOBJS) ../lib/libsuperlumt_d.so
- 	$(LOADER) $(LOADOPTS) $(DSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsol: $(CLINOBJS) ../lib/$(SUPERLULIB)
-+pclinsol: $(CLINOBJS) ../lib/libsuperlumt_c.so
- 	$(LOADER) $(LOADOPTS) $(CLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsolx: pclinsolx.o ../lib/$(SUPERLULIB)
-+pclinsolx: pclinsolx.o ../lib/libsuperlumt_c.so
- 	$(LOADER) $(LOADOPTS) pclinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsolx1: pclinsolx1.o ../lib/$(SUPERLULIB)
-+pclinsolx1: pclinsolx1.o ../lib/libsuperlumt_c.so
- 	$(LOADER) $(LOADOPTS) pclinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsolx2: pclinsolx2.o ../lib/$(SUPERLULIB)
-+pclinsolx2: pclinsolx2.o ../lib/libsuperlumt_c.so
- 	$(LOADER) $(LOADOPTS) pclinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pcrepeat: $(CREPOBJS) ../lib/$(SUPERLULIB)
-+pcrepeat: $(CREPOBJS) ../lib/libsuperlumt_c.so
- 	$(LOADER) $(LOADOPTS) $(CREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pcspmd: $(CSPMDOBJS) ../lib/$(SUPERLULIB)
-+pcspmd: $(CSPMDOBJS) ../lib/libsuperlumt_c.so
- 	$(LOADER) $(LOADOPTS) $(CSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsol: $(ZLINOBJS) ../lib/$(SUPERLULIB)
-+pzlinsol: $(ZLINOBJS) ../lib/libsuperlumt_z.so
- 	$(LOADER) $(LOADOPTS) $(ZLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsolx: pzlinsolx.o ../lib/$(SUPERLULIB)
-+pzlinsolx: pzlinsolx.o ../lib/libsuperlumt_z.so
- 	$(LOADER) $(LOADOPTS) pzlinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsolx1: pzlinsolx1.o ../lib/$(SUPERLULIB)
-+pzlinsolx1: pzlinsolx1.o ../lib/libsuperlumt_z.so
- 	$(LOADER) $(LOADOPTS) pzlinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsolx2: pzlinsolx2.o ../lib/$(SUPERLULIB)
-+pzlinsolx2: pzlinsolx2.o ../lib/libsuperlumt_z.so
- 	$(LOADER) $(LOADOPTS) pzlinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzrepeat: $(ZREPOBJS) ../lib/$(SUPERLULIB)
-+pzrepeat: $(ZREPOBJS) ../lib/libsuperlumt_z.so
- 	$(LOADER) $(LOADOPTS) $(ZREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzspmd: $(ZSPMDOBJS) ../lib/$(SUPERLULIB)
-+pzspmd: $(ZSPMDOBJS) ../lib/libsuperlumt_z.so
- 	$(LOADER) $(LOADOPTS) $(ZSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
- F77EXM	= f77_main.o hbcode1.o c_bridge_pdgssv.o
- 
--f77exm: $(F77EXM) ../lib/$(SUPERLULIB)
-+f77exm: $(F77EXM) ../lib/libsuperlumt_s.so
- 	$(FORTRAN) $(LOADOPTS) $(F77EXM) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@
-+	../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@
- 
- .c.o:
- 	$(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)

diff --git a/SuperLUMT-fix_several_prototype_errors.patch b/SuperLUMT-fix_several_prototype_errors.patch
deleted file mode 100644
index fd816a5..0000000
--- a/SuperLUMT-fix_several_prototype_errors.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From b36a4a45ae018649f0ae9516468471233872130b Mon Sep 17 00:00:00 2001
-From: Sherry Li <xsli@lbl.gov>
-Date: Sun, 19 May 2024 10:26:51 -0700
-Subject: [PATCH] fixed several prototype errors.
-
----
- SRC/creadmt.c     | 2 +-
- SRC/dreadmt.c     | 2 +-
- SRC/slu_mt_util.h | 1 +
- SRC/sreadmt.c     | 2 +-
- SRC/util.c        | 2 +-
- SRC/zreadmt.c     | 2 +-
- 6 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/SRC/creadmt.c b/SRC/creadmt.c
-index 3ad1654..5c43814 100644
---- a/SRC/creadmt.c
-+++ b/SRC/creadmt.c
-@@ -17,6 +17,13 @@
-  *
-  */
- 
-+#if defined __GNUC__ && __GNUC__ >= 14
-+#pragma GCC diagnostic warning "-Wimplicit-function-declaration"
-+#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
-+#pragma GCC diagnostic warning "-Wint-conversion"
-+#pragma GCC diagnostic warning "-Wreturn-mismatch"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include "slu_mt_cdefs.h"
-@@ -26,7 +26,7 @@ at the top-level directory.
- static void dumptitle();
- 
- void
--creadmt(int *m, int *n, int *nonz, complex **nzval, int **rowind, int **colptr)
-+creadmt(int_t *m, int_t *n, int_t *nonz, complex **nzval, int_t **rowind, int_t **colptr)
- {
- /*
-  * Output parameters
-diff --git a/SRC/dreadmt.c b/SRC/dreadmt.c
-index 282fd13..90eb0e1 100644
---- a/SRC/dreadmt.c
-+++ b/SRC/dreadmt.c
-@@ -17,6 +17,13 @@
-  *
-  */
- 
-+#if defined __GNUC__ && __GNUC__ >= 14
-+#pragma GCC diagnostic warning "-Wimplicit-function-declaration"
-+#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
-+#pragma GCC diagnostic warning "-Wint-conversion"
-+#pragma GCC diagnostic warning "-Wreturn-mismatch"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include "slu_mt_ddefs.h"
-@@ -26,7 +26,7 @@ at the top-level directory.
- static void dumptitle();
- 
- void
--dreadmt(int *m, int *n, int *nonz, double **nzval, int **rowind, int **colptr)
-+dreadmt(int_t *m, int_t *n, int_t *nonz, double **nzval, int_t **rowind, int_t **colptr)
- {
- /*
-  * Output parameters
-diff --git a/SRC/slu_mt_util.h b/SRC/slu_mt_util.h
-index 1b1e0f9..88acf61 100644
---- a/SRC/slu_mt_util.h
-+++ b/SRC/slu_mt_util.h
-@@ -473,6 +473,7 @@ extern void superlu_free (void*);
- extern void PrintStat(Gstat_t *);
- extern int_t  ParallelProfile(const int_t, const int_t, const int_t,
- 			    const int_t procs, Gstat_t *);
-+extern int PrintInt10(char *name, int_t len, int_t *x);
- 
- #ifdef __cplusplus
- 	   }
-diff --git a/SRC/sreadmt.c b/SRC/sreadmt.c
-index 9006dc4..ee68209 100644
---- a/SRC/sreadmt.c
-+++ b/SRC/sreadmt.c
-@@ -17,6 +17,13 @@
-  *
-  */
- 
-+#if defined __GNUC__ && __GNUC__ >= 14
-+#pragma GCC diagnostic warning "-Wimplicit-function-declaration"
-+#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
-+#pragma GCC diagnostic warning "-Wint-conversion"
-+#pragma GCC diagnostic warning "-Wreturn-mismatch"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include "slu_mt_sdefs.h"
-@@ -26,7 +26,7 @@ at the top-level directory.
- static void dumptitle();
- 
- void
--sreadmt(int *m, int *n, int *nonz, float **nzval, int **rowind, int **colptr)
-+sreadmt(int_t *m, int_t *n, int_t *nonz, float **nzval, int_t **rowind, int_t **colptr)
- {
- /*
-  * Output parameters
-diff --git a/SRC/util.c b/SRC/util.c
-index 991b536..efc607a 100644
---- a/SRC/util.c
-+++ b/SRC/util.c
-@@ -589,7 +589,7 @@ void check_repfnz(int_t n, int_t w, int_t jcol, int_t *repfnz)
- }
- 
- 
--int_t PrintInt10(char *name, int_t len, int_t *x)
-+int PrintInt10(char *name, int_t len, int_t *x)
- {
-     register int_t i;
-     
-diff --git a/SRC/zreadmt.c b/SRC/zreadmt.c
-index 4619506..4f17907 100644
---- a/SRC/zreadmt.c
-+++ b/SRC/zreadmt.c
-@@ -17,6 +17,13 @@
-  *
-  */
- 
-+#if defined __GNUC__ && __GNUC__ >= 14
-+#pragma GCC diagnostic warning "-Wimplicit-function-declaration"
-+#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
-+#pragma GCC diagnostic warning "-Wint-conversion"
-+#pragma GCC diagnostic warning "-Wreturn-mismatch"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include "slu_mt_zdefs.h"
-@@ -26,7 +26,7 @@ at the top-level directory.
- static void dumptitle();
- 
- void
--zreadmt(int *m, int *n, int *nonz, doublecomplex **nzval, int **rowind, int **colptr)
-+zreadmt(int_t *m, int_t *n, int_t *nonz, doublecomplex **nzval, int_t **rowind, int_t **colptr)
- {
- /*
-  * Output parameters

diff --git a/SuperLUMT-fix_testsuite.patch b/SuperLUMT-fix_testsuite.patch
deleted file mode 100644
index 9af2955..0000000
--- a/SuperLUMT-fix_testsuite.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- TESTING/Makefile.orig	2016-03-26 08:56:10.347188385 -0400
-+++ TESTING/Makefile	2016-03-26 08:58:39.763126530 -0400
-@@ -51,21 +51,21 @@
- 
- all: single double complex complex16
- 
--pstest: $(SLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pstest: $(SLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(SLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
--pdtest: $(DLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pdtest: $(DLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(DLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
--pctest: $(CLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pctest: $(CLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(CLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
--pztest: $(ZLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pztest: $(ZLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(ZLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
- single: pstest pstest.out
- 

diff --git a/SuperLUMT-rename_shared_libraries.patch b/SuperLUMT-rename_shared_libraries.patch
new file mode 100644
index 0000000..125b808
--- /dev/null
+++ b/SuperLUMT-rename_shared_libraries.patch
@@ -0,0 +1,185 @@
+--- a/SRC/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/SRC/CMakeLists.txt	2026-03-29 12:28:05.988792900 +0200
+@@ -1,32 +1,40 @@
+ 
+ file (GLOB sources "*.c")
+-add_library (superlu_mt${PLAT} ${sources})
+-set_target_properties (superlu_mt${PLAT} PROPERTIES POSITION_INDEPENDENT_CODE ON)
++add_library (superlu_mt ${sources})
++set_target_properties (superlu_mt PROPERTIES POSITION_INDEPENDENT_CODE ON
++                       VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BugFix} SOVERSION ${VERSION_MAJOR}
++                       VERSION ${VERSION_MAJOR}.${VERSION_MINOR} SOVERSION ${VERSION_MAJOR})
+
+-set_property(TARGET superlu_mt${PLAT} PROPERTY C_STANDARD 99)
++set_property(TARGET superlu_mt PROPERTY C_STANDARD 99)
+ 
+ if (HAVE_LIB_M)
+-  target_link_libraries (superlu_mt${PLAT} PRIVATE m)
++  target_link_libraries (superlu_mt PRIVATE m)
+ endif ()
+ 
+-target_link_libraries (superlu_mt${PLAT} PRIVATE ${BLAS_LIB})
+-target_compile_definitions (superlu_mt${PLAT} PRIVATE Add_)
++target_link_libraries (superlu_mt PRIVATE ${BLAS_LIB})
++target_compile_definitions (superlu_mt PRIVATE Add_)
+ 
+ if (PLAT STREQUAL "_PTHREAD")
+-  target_compile_definitions (superlu_mt${PLAT} PUBLIC __PTHREAD)
+-  target_link_libraries (superlu_mt${PLAT} PRIVATE ${CMAKE_THREAD_LIBS_INIT})
++  target_compile_definitions (superlu_mt PUBLIC __PTHREAD)
++  target_link_libraries (superlu_mt PRIVATE ${CMAKE_THREAD_LIBS_INIT})
+ elseif (PLAT STREQUAL "_OPENMP")
+-  target_compile_definitions (superlu_mt${PLAT} PUBLIC __OPENMP)
+-  target_link_libraries (superlu_mt${PLAT} PRIVATE OpenMP::OpenMP_C)
++  target_compile_definitions (superlu_mt PUBLIC __OPENMP)
++  target_link_libraries (superlu_mt PRIVATE OpenMP::OpenMP_C)
+ endif ()
+ 
+ if (LONGINT)
+-  target_compile_definitions (superlu_mt${PLAT} PUBLIC _LONGINT)
++  target_compile_definitions (superlu_mt64 PUBLIC _LONGINT)
+ endif ()
+ 
+-target_include_directories (superlu_mt${PLAT} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+-target_include_directories (superlu_mt${PLAT} INTERFACE $<INSTALL_INTERFACE:include>)
+-install (TARGETS superlu_mt${PLAT} DESTINATION ${CMAKE_INSTALL_LIBDIR})
++if (LONGINT)
++target_include_directories (superlu_mt64 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
++target_include_directories (superlu_mt64 INTERFACE $<INSTALL_INTERFACE:include>)
++install (TARGETS superlu_mt64 DESTINATION ${CMAKE_INSTALL_LIBDIR})
++else ()
++target_include_directories (superlu_mt PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
++target_include_directories (superlu_mt INTERFACE $<INSTALL_INTERFACE:include>)
++install (TARGETS superlu_mt DESTINATION ${CMAKE_INSTALL_LIBDIR})
++endif ()
+ 
+ file (GLOB headers "*.h")
+ install (FILES ${headers} DESTINATION ${SUPERLUMT_INSTALL_INCLUDEDIR})
+--- a/EXAMPLE/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/EXAMPLE/CMakeLists.txt	2026-03-28 15:07:25.793040173 +0100
+@@ -32,80 +32,80 @@
+ 
+ # examples for complex
+ add_executable(pclinsol  ${_DEPENDENCY_ALL} pclinsol.c)
+-target_link_libraries(pclinsol superlu_mt${PLAT})
++target_link_libraries(pclinsol superlu_mt)
+ 
+ add_executable(pclinsolx  ${_DEPENDENCY_ALL} pclinsolx.c)
+-target_link_libraries(pclinsolx superlu_mt${PLAT})
++target_link_libraries(pclinsolx superlu_mt)
+ 
+ add_executable(pclinsolx1  ${_DEPENDENCY_ALL} pclinsolx1.c)
+-target_link_libraries(pclinsolx1 superlu_mt${PLAT})
++target_link_libraries(pclinsolx1 superlu_mt)
+ 
+ add_executable(pclinsolx2  ${_DEPENDENCY_ALL} pclinsolx2.c)
+-target_link_libraries(pclinsolx2 superlu_mt${PLAT})
++target_link_libraries(pclinsolx2 superlu_mt)
+ 
+ add_executable(pcrepeat  ${_DEPENDENCY_ALL} pcrepeat.c)
+-target_link_libraries(pcrepeat superlu_mt${PLAT})
++target_link_libraries(pcrepeat superlu_mt)
+ 
+ add_executable(pcspmd  ${_DEPENDENCY_ALL} pcspmd.c)
+-target_link_libraries(pcspmd superlu_mt${PLAT})
++target_link_libraries(pcspmd superlu_mt)
+ 
+ # examples for double
+ add_executable(pdlinsol  ${_DEPENDENCY_ALL} pdlinsol.c)
+-target_link_libraries(pdlinsol superlu_mt${PLAT})
++target_link_libraries(pdlinsol superlu_mt)
+ 
+ add_executable(pdlinsolx  ${_DEPENDENCY_ALL} pdlinsolx.c)
+-target_link_libraries(pdlinsolx superlu_mt${PLAT})
++target_link_libraries(pdlinsolx superlu_mt)
+ 
+ add_executable(pdlinsolx1  ${_DEPENDENCY_ALL} pdlinsolx1.c)
+-target_link_libraries(pdlinsolx1 superlu_mt${PLAT})
++target_link_libraries(pdlinsolx1 superlu_mt)
+ 
+ add_executable(pdlinsolx2  ${_DEPENDENCY_ALL} pdlinsolx2.c)
+-target_link_libraries(pdlinsolx2 superlu_mt${PLAT})
++target_link_libraries(pdlinsolx2 superlu_mt)
+ 
+ add_executable(pdrepeat  ${_DEPENDENCY_ALL} pdrepeat.c)
+-target_link_libraries(pdrepeat superlu_mt${PLAT})
++target_link_libraries(pdrepeat superlu_mt)
+ 
+ add_executable(pdspmd  ${_DEPENDENCY_ALL} pdspmd.c)
+-target_link_libraries(pdspmd superlu_mt${PLAT})
++target_link_libraries(pdspmd superlu_mt)
+ 
+ # examples for float
+ add_executable(pslinsol  ${_DEPENDENCY_ALL} pslinsol.c)
+-target_link_libraries(pslinsol superlu_mt${PLAT})
++target_link_libraries(pslinsol superlu_mt)
+ 
+ add_executable(pslinsolx  ${_DEPENDENCY_ALL} pslinsolx.c)
+-target_link_libraries(pslinsolx superlu_mt${PLAT})
++target_link_libraries(pslinsolx superlu_mt)
+ 
+ add_executable(pslinsolx1  ${_DEPENDENCY_ALL} pslinsolx1.c)
+-target_link_libraries(pslinsolx1 superlu_mt${PLAT})
++target_link_libraries(pslinsolx1 superlu_mt)
+ 
+ add_executable(pslinsolx2  ${_DEPENDENCY_ALL} pslinsolx2.c)
+-target_link_libraries(pslinsolx2 superlu_mt${PLAT})
++target_link_libraries(pslinsolx2 superlu_mt)
+ 
+ add_executable(psrepeat  ${_DEPENDENCY_ALL} psrepeat.c)
+-target_link_libraries(psrepeat superlu_mt${PLAT})
++target_link_libraries(psrepeat superlu_mt)
+ 
+ add_executable(psspmd  ${_DEPENDENCY_ALL} psspmd.c)
+-target_link_libraries(psspmd superlu_mt${PLAT})
++target_link_libraries(psspmd superlu_mt)
+ 
+ 
+ # examples for double complex
+ add_executable(pzlinsol  ${_DEPENDENCY_ALL} pzlinsol.c)
+-target_link_libraries(pzlinsol superlu_mt${PLAT})
++target_link_libraries(pzlinsol superlu_mt)
+ 
+ add_executable(pzlinsolx  ${_DEPENDENCY_ALL} pzlinsolx.c)
+-target_link_libraries(pzlinsolx superlu_mt${PLAT})
++target_link_libraries(pzlinsolx superlu_mt)
+ 
+ add_executable(pzlinsolx1  ${_DEPENDENCY_ALL} pzlinsolx1.c)
+-target_link_libraries(pzlinsolx1 superlu_mt${PLAT})
++target_link_libraries(pzlinsolx1 superlu_mt)
+ 
+ add_executable(pzlinsolx2  ${_DEPENDENCY_ALL} pzlinsolx2.c)
+-target_link_libraries(pzlinsolx2 superlu_mt${PLAT})
++target_link_libraries(pzlinsolx2 superlu_mt)
+ 
+ add_executable(pzrepeat  ${_DEPENDENCY_ALL} pzrepeat.c)
+-target_link_libraries(pzrepeat superlu_mt${PLAT})
++target_link_libraries(pzrepeat superlu_mt)
+ 
+ add_executable(pzspmd  ${_DEPENDENCY_ALL} pzspmd.c)
+-target_link_libraries(pzspmd superlu_mt${PLAT})
++target_link_libraries(pzspmd superlu_mt)
+ 
+ 
+ if(MSVC AND WinGetOpt_FOUND)
+--- a/TESTING/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/TESTING/CMakeLists.txt	2026-03-28 15:25:34.305093454 +0100
+@@ -1,7 +1,7 @@
+ include_directories(${PROJECT_SOURCE_DIR}/SRC)
+ 
+ # Libs linked to all of the tests
+-set(test_link_libs matgen)
++set(test_link_libs matgen)
+ 
+ add_subdirectory(MATGEN)
+ 
+--- a/TESTING/MATGEN/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/TESTING/MATGEN/CMakeLists.txt	2026-03-28 15:17:51.570812037 +0100
+@@ -106,5 +106,5 @@
+   )
+ endif()
+ 
+-add_library(matgen ${sources})
+-target_link_libraries(matgen superlu_mt${PLAT})
++add_library(matgen ${sources})
++target_link_libraries(matgen superlu_mt)

diff --git a/SuperLUMT.spec b/SuperLUMT.spec
index 5e89df7..2dcd9e4 100644
--- a/SuperLUMT.spec
+++ b/SuperLUMT.spec
@@ -1,34 +1,40 @@
-# This flag breaks the linkage among libraries
-%undefine _ld_as_needed
-
 %global genname superlumt
 %global majorver 4.0
-%global soname_version %{majorver}.1
+%global soname_version %{version}
+
+%ifarch %{ix86}
+%bcond_with longint
+%else
+%bcond_without longint
+%endif
+
+%bcond_without check
 
 Name: SuperLUMT
-Version: %{majorver}.1
+Version: %{majorver}.2
 Release: %autorelease
 Summary: Single precision real SuperLU routines for shared memory parallel machines
 License: BSD-3-Clause
 URL: https://portal.nersc.gov/project/sparse/superlu/
-Source0: https://github.com/xiaoyeli/superlu_mt/archive/refs/tags/v%{majorver}.1/superlu_mt-%{majorver}.1.tar.gz
+Source0: https://github.com/xiaoyeli/superlu_mt/archive/refs/tags/v%{version}/superlu_mt-%{version}.tar.gz
 
+BuildRequires: cmake
 BuildRequires: make
 BuildRequires: pkgconfig(flexiblas)
 BuildRequires: pkgconfig
 BuildRequires: tcsh
 BuildRequires: gcc
+BuildRequires: gcc-gfortran
 Requires: %{name}-common = %{version}-%{release}
 
-# Patches to build shared object libraries
-# and files for testing
-Patch0: %{name}-build_shared.patch
-Patch1: %{name}-fix_testsuite.patch
-Patch2: %{name}64-build_shared.patch
-Patch3: %{name}64-fix_testsuite.patch
-Patch4: %{name}-fix_examples.patch
-Patch5: %{name}64-fix_examples.patch
-Patch6: %{name}-fix_several_prototype_errors.patch
+# This patch removes the `_OPENMP` suffix and produces a versioned library
+Patch0: %{name}-rename_shared_libraries.patch
+
+# This patch produces a versioned 64bit library
+Patch1: %{name}64-build_shared.patch
+
+# https://github.com/xiaoyeli/superlu_mt/commit/e60ed2c1dd491e1832d783f519c1851288f9d422
+Patch2: %{name}64-resolve_prototype_mismatches.patch
 
 %description
 Subroutines to solve sparse linear systems for shared memory parallel machines.
@@ -38,43 +44,20 @@ The columns of A may be preordered before factorization; the
 preordering for sparsity is completely separate from the factorization.
 
 
-%package double
-Summary: Double precision real SuperLU routines for shared memory parallel machines
-Requires: %{name}-common = %{version}-%{release}
-%description double
-This package contains double precision real SuperLU routines library
-by SuperLUMT.
-
-
-%package complex
-Summary: Single precision complex SuperLU routines for shared memory parallel machines
-Requires: %{name}-common = %{version}-%{release}
-%description complex
-This package contains single precision complex routines library by SuperLUMT.
-
-
-%package complex16
-Summary: Double precision complex SuperLU routines for shared memory parallel machines
-Requires: %{name}-common = %{version}-%{release}
-%description complex16
-This package contains double precision complex routines library by SuperLUMT.
-
-
 %package devel
 Summary: The SuperLUMT headers and development-related files
 Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: %{name}-double%{?_isa} = %{version}-%{release}
-Requires: %{name}-complex%{?_isa} = %{version}-%{release}
-Requires: %{name}-complex16%{?_isa} = %{version}-%{release}
-
+Obsoletes: SuperLUMT-double < 0:4.0.2-1
+Obsoletes: SuperLUMT-complex < 0:4.0.2-1
+Obsoletes: SuperLUMT-complex16 < 0:4.0.2-1
 %description devel
 Shared links and header files used by SuperLUMT.
 
 ########################################################
-%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
+%if %{with longint}
 %package -n SuperLUMT64
 Summary: Single precision real SuperLU routines (64bit INTEGER)
-
+# Upstream: SuperLU_MT always uses 32-bit BLAS, even when LONINT is defined.
 BuildRequires: pkgconfig(flexiblas)
 Requires: %{name}-common = %{version}-%{release}
 %description -n SuperLUMT64
@@ -85,40 +68,13 @@ A*X=B. It uses Gaussian elimination with partial pivoting (GEPP).
 The columns of A may be preordered before factorization; the 
 preordering for sparsity is completely separate from the factorization.
 
-
-%package -n SuperLUMT64-double
-Summary: Double precision real SuperLU routines (64bit INTEGER)
-
-Requires: %{name}-common = %{version}-%{release}
-%description -n SuperLUMT64-double
-This package contains double precision real SuperLU routines library
-by SuperLUMT (64bit INTEGER).
-
-
-%package -n SuperLUMT64-complex
-Summary: Single precision complex SuperLU routines (64bit INTEGER)
-Requires: %{name}-common = %{version}-%{release}
-%description -n SuperLUMT64-complex
-This package contains single precision complex routines library by SuperLUMT
-(64bit INTEGER).
-
-
-%package -n SuperLUMT64-complex16
-Summary: Double precision complex SuperLU routines (64bit INTEGER)
-Requires: %{name}-common = %{version}-%{release}
-%description -n SuperLUMT64-complex16
-This package contains double precision complex routines library
-by SuperLUMT (64bit INTEGER).
-
 %package -n SuperLUMT64-devel
-Summary: The MUMPS headers and development-related files (64bit INTEGER)
-Requires: SuperLUMT64%{?_isa} = %{version}-%{release}
-Requires: SuperLUMT64-double%{?_isa} = %{version}-%{release}
-Requires: SuperLUMT64-complex%{?_isa} = %{version}-%{release}
-Requires: SuperLUMT64-complex16%{?_isa} = %{version}-%{release}
-
+Summary: The SuperLUMT64 headers and development-related files (64bit INTEGER)
+Obsoletes: SuperLUMT64-double < 0:4.0.2-1
+Obsoletes: SuperLUMT64-complex < 0:4.0.2-1
+Obsoletes: SuperLUMT64-complex16 < 0:4.0.2-1
 %description -n SuperLUMT64-devel
-Shared links, header files for %{name} (64bit INTEGER).
+Shared links, header files for SuperLUMT (64bit INTEGER).
 %endif
 ##########################################################
 
@@ -130,221 +86,111 @@ BuildArch: noarch
 This package contains common documentation files for SuperLUMT.
 
 %prep
-%setup -q -n superlu_mt-%{majorver}.1
+%setup -qc
 
-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
    [ "$(file $file | awk '{print $2}')" = ELF ] && rm $file || :
 done
 
-mkdir -p lib
+# Remove bundled CBLAS source files
+rm -rf CBLAS
 
-# Duplicating of examples source code
-%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-cp -a EXAMPLE EXAMPLE64
-%endif
+pushd superlu_mt-%{version}
+%patch -P 0 -p1 -b .backup0
+%patch -P 2 -p1 -b .backup2
+popd
 
-%patch -P 0 -p0
-%patch -P 1 -p0
-%patch -P 4 -p0
-%patch -P 6 -p1
+%if %{with longint}
+cp -a superlu_mt-%{version} superlu_mt64-%{version}
+pushd superlu_mt64-%{version}
+%patch -P 1 -p1 -b .backup1
+popd
+%endif
 
 %build
-cp -p MAKE_INC/make.linux.openmp make.inc
-sed -i -e "s|-O3|$RPM_OPT_FLAGS -std=gnu17|" \
-make.inc
-
-## Build lib ##########################################
-export LIBBLASLINK=-lflexiblas
-export LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK"
-
-make -j1 \
- SONAME=%{majorver} \
- BLASLIB="-L%{_libdir} $LIBBLASLINK" \
- PREDEFS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- NOOPTS="-O0 -fPIC -fopenmp $LIBBLASLINK" \
- CDEFS=-DAdd_ \
- FFLAGS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -fopenmp -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- FORTRAN=gfortran \
- LOADER=gcc \
- CC=gcc \
- CFLAGS="$RPM_OPT_FLAGS -std=gnu17 $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK" \
- MATHLIB=-lm \
- MPLIB= -C SRC single double complex complex16
- 
-cp -p SRC/libsuperlumt_*.so.%{majorver} lib/
-cp -p SRC/libsuperlumt_*.so lib/
-
-# Make example files
-export LIBBLASLINK=-lflexiblas
-export LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK"
-
-make -j1 \
- SONAME=%{majorver} \
- BLASLIB="-L%{_libdir} $LIBBLASLINK" \
- PREDEFS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- NOOPTS="-O0 -fPIC -fopenmp $LIBBLASLINK" \
- CDEFS=-DAdd_ \
- FFLAGS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -fopenmp -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- FORTRAN=gfortran \
- LOADER=gcc \
- LOADOPTS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- CC=gcc \
- CFLAGS="$RPM_OPT_FLAGS -std=gnu17 $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0" \
- LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK" \
- MATHLIB=-lm \
- MPLIB= -C EXAMPLE single double complex complex16
-
-make -C SRC clean
-make -C TESTING/MATGEN clean
-#######################################################
-
-## Build 64 ##########################################
-%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-# Reverting previous patches
-# and patch again for new libraries
-patch -R -p0 < %{PATCH0}
-patch -R -p0 < %{PATCH1}
-patch -p0 < %{PATCH2}
-patch -p0 < %{PATCH3}
-patch -p0 < %{PATCH5}
-
-export LIBBLASLINK=-lflexiblas64
-export LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK"
-
-make -j1 \
- SONAME=%{majorver} \
- BLASLIB="-L%{_libdir} $LIBBLASLINK" \
- PREDEFS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -D_LONGINT" \
- NOOPTS="-O0 -fPIC -fopenmp $LIBBLASLINK" \
- CDEFS=-DAdd_ \
- FFLAGS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -fopenmp -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -fdefault-integer-8" \
- FORTRAN=gfortran \
- CFLAGS="$RPM_OPT_FLAGS -std=gnu17 $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -D_LONGINT" \
- LOADER=gcc \
- CC=gcc \
- LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK" \
- MATHLIB=-lm \
- MPLIB= -C SRC single double complex complex16
-
-cp -p SRC/libsuperlumt64_*.so.%{majorver} lib/
-cp -p SRC/libsuperlumt64_*.so lib/
-
-# Make example files
-
-export LIBBLASLINK=-lflexiblas64
-export LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK"
-
-make -j1 \
- SONAME=%{majorver} \
- BLASLIB="-L%{_libdir} $LIBBLASLINK" \
- PREDEFS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -D_LONGINT" \
- NOOPTS="-O0 -fPIC -fopenmp $LIBBLASLINK" \
- CDEFS=-DAdd_ \
- FFLAGS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -fopenmp -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -fdefault-integer-8" \
- FORTRAN=gfortran \
- CFLAGS="$RPM_OPT_FLAGS -std=gnu17 $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -D_LONGINT" \
- LOADER=gcc \
- LOADOPTS="$RPM_OPT_FLAGS $LDFLAGS -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -D_LONGINT" \
- CC=gcc \
- LDFLAGS="%{__global_ldflags} -lgomp $LIBBLASLINK" \
- MATHLIB=-lm \
- MPLIB= -C EXAMPLE64 single double complex complex16
+## Build 32bit library ##
+pushd superlu_mt-%{version}
+export LDFLAGS="%{__global_ldflags} -fPIC"
+export CFLAGS="$RPM_OPT_FLAGS -std=gnu17 -fPIC -fopenmp -I%{_includedir}/flexiblas"
+%cmake -DPLAT:STRING=_OPENMP -DSUPERLUMT_INSTALL_INCLUDEDIR:STRING=%{_includedir}/%{name} \
+       -Denable_fortran:BOOL=ON -DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--copy-dt-needed-entries \
+       -DBLAS_flexiblas_LIBRARY:FILEPATH=%{_libdir}/libflexiblas.so \
+       -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DLONGINT:BOOL=OFF \
+%if %{without check}
+       -Denable_tests:BOOL=OFF -Denable_examples:BOOL=OFF
 %endif
+%cmake_build
+popd
+#########################
+
+## Build 64bit library ##
+%if %{with longint}
+pushd superlu_mt64-%{version}
+export LDFLAGS="%{__global_ldflags} -fPIC -lflexiblas"
+export CFLAGS="$RPM_OPT_FLAGS -std=gnu17 -fPIC -fopenmp -I%{_includedir}/flexiblas"
+%cmake -DPLAT:STRING=_OPENMP -DSUPERLUMT_INSTALL_INCLUDEDIR:STRING=%{_includedir}/%{name}64 \
+       -Denable_fortran:BOOL=ON -DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--copy-dt-needed-entries \
+       -DLONGINT:BOOL=ON -DBLAS_flexiblas_LIBRARY:FILEPATH=%{_libdir}/libflexiblas.so \
+       -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \
+%if %{without check}
+       -Denable_tests:BOOL=OFF -Denable_examples:BOOL=OFF
+%endif
+%cmake_build
+popd
+%endif
+##########################
 
+%if %{with check}
 %check
-pushd EXAMPLE
-export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
-./pslinsol < big.rua
-./pdlinsol < big.rua
-./pclinsol < cmat
-./pzlinsol < cmat
-./pslinsolx < big.rua
-./pdlinsolx < big.rua
-./pclinsolx < cmat
-./pzlinsolx < cmat
-./pslinsolx1 < big.rua
-./pdlinsolx1 < big.rua
-./pclinsolx1 < cmat
-./pzlinsolx1 < cmat
+pushd superlu_mt-%{version}
+export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:MATGEN
+%ctest
 popd
 
-%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-pushd EXAMPLE64
-export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{_libdir}
-./pslinsol < big.rua
-./pdlinsol < big.rua
-./pclinsol < cmat
-./pzlinsol < cmat
+%if %{with longint}
+pushd superlu_mt64-%{version}
+export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:MATGEN
+%ctest
 popd
 %endif
+%endif
 
 %install
-mkdir -p %{buildroot}%{_libdir}
-mkdir -p %{buildroot}%{_includedir}/%{name}
-cp -P lib/libsuperlumt_*.so.%{majorver} %{buildroot}%{_libdir}/
-install -p SRC/*.h %{buildroot}%{_includedir}/%{name}/
-chmod a-x %{buildroot}%{_includedir}/%{name}/*.h
-cp -P lib/libsuperlumt_*.so %{buildroot}%{_libdir}/
-
-for i in s d c z
-do
- ln -sf  libsuperlumt_${i}.so.%{majorver} %{buildroot}%{_libdir}/libsuperlumt_${i}.so
-done
-
-%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-cp -P lib/libsuperlumt64_*.so.%{majorver} %{buildroot}%{_libdir}/
-cp -P lib/libsuperlumt64_*.so %{buildroot}%{_libdir}/
+pushd superlu_mt-%{version}
+%cmake_install
+popd
 
-for i in s d c z
-do
- ln -sf  libsuperlumt64_${i}.so.%{majorver} %{buildroot}%{_libdir}/libsuperlumt64_${i}.so
-done
+%if %{with longint}
+pushd superlu_mt64-%{version}
+%cmake_install
+popd
 %endif
 
 %files
-%{_libdir}/libsuperlumt_s.so.%{majorver}
-
-%files double
-%{_libdir}/libsuperlumt_d.so.%{majorver}
-
-%files complex
-%{_libdir}/libsuperlumt_c.so.%{majorver}
-
-%files complex16
-%{_libdir}/libsuperlumt_z.so.%{majorver}
+%{_libdir}/libsuperlu_mt.so.4
+%{_libdir}/libsuperlu_mt.so.%{majorver}
 
 %files devel
 %{_includedir}/%{name}/
-%{_libdir}/libsuperlumt_*.so
+%{_libdir}/libsuperlu_mt.so
 
-########################################################
-%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
+%if %{with longint}
 %files -n SuperLUMT64
-%{_libdir}/libsuperlumt64_s.so.%{majorver}
-
-%files -n SuperLUMT64-double
-%{_libdir}/libsuperlumt64_d.so.%{majorver}
-
-%files -n SuperLUMT64-complex
-%{_libdir}/libsuperlumt64_c.so.%{majorver}
-
-%files -n SuperLUMT64-complex16
-%{_libdir}/libsuperlumt64_z.so.%{majorver}
+%{_libdir}/libsuperlu_mt64.so.4
+%{_libdir}/libsuperlu_mt64.so.%{majorver}
 
 %files -n SuperLUMT64-devel
-%{_includedir}/%{name}/
-%{_libdir}/libsuperlumt64_*.so
+%{_includedir}/%{name}64/
+%{_libdir}/libsuperlu_mt64.so
 %endif
-#######################################################
 
 %files common
-%license License.txt
-%doc DOC README
+%license superlu_mt-%{version}/License.txt
+%doc superlu_mt-%{version}/DOC superlu_mt-%{version}/README
 
 %changelog
 %autochangelog

diff --git a/SuperLUMT64-build_shared.patch b/SuperLUMT64-build_shared.patch
index f644f74..6503614 100644
--- a/SuperLUMT64-build_shared.patch
+++ b/SuperLUMT64-build_shared.patch
@@ -1,63 +1,166 @@
---- SRC/Makefile.orig	2016-03-26 08:47:18.885503561 -0400
-+++ SRC/Makefile	2016-03-26 08:52:10.512497969 -0400
-@@ -101,36 +101,40 @@
- 
- all:    single double complex complex16
- 
--single: $(SLUSRC) $(ALLAUX) $(SZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(SLUSRC) $(ALLAUX) $(SZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
--
--double: $(DLUSRC) $(ALLAUX) $(DZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(DLUSRC) $(ALLAUX) $(DZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
--
--complex: $(CLUSRC) $(ALLAUX) $(SZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(CLUSRC) $(ALLAUX) $(SZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
--
--complex16: $(ZLUSRC) $(ALLAUX) $(DZAUX)
--	$(ARCH) $(ARCHFLAGS) ../lib/$(SUPERLULIB) $(ZLUSRC) $(ALLAUX) $(DZAUX)
--	$(RANLIB) ../lib/$(SUPERLULIB)
-+single: $(SLUSRC) $(ALLAUX) $(SZAUX) $(SLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_s.so.$(SONAME) -o libsuperlumt64_s.so.$(SONAME) \
-+	$(SLUSRC) $(ALLAUX) $(SZAUX) $(SLASRC)
-+	ln -sf libsuperlumt64_s.so.$(SONAME) libsuperlumt64_s.so
-+
-+double: $(DLUSRC) $(ALLAUX) $(DZAUX) $(DLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_d.so.$(SONAME) -o libsuperlumt64_d.so.$(SONAME) \
-+	$(DLUSRC) $(ALLAUX) $(DZAUX) $(DLASRC)
-+	ln -sf libsuperlumt64_d.so.$(SONAME) libsuperlumt64_d.so
-+
-+complex: $(CLUSRC) $(ALLAUX) $(SZAUX) $(CLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_c.so.$(SONAME) -o libsuperlumt64_c.so.$(SONAME) \
-+	$(CLUSRC) $(ALLAUX) $(SZAUX) $(CLASRC)
-+	ln -sf libsuperlumt64_c.so.$(SONAME) libsuperlumt64_c.so
-+
-+complex16: $(ZLUSRC) $(ALLAUX) $(DZAUX) $(ZLASRC)
-+	$(CC) $(LDFLAGS) $(BLASLIB) $(MFLIB) $(MATHLIB) -shared -Wl,-soname,libsuperlumt64_z.so.$(SONAME) -o libsuperlumt64_z.so.$(SONAME) \
-+	$(ZLUSRC) $(ALLAUX) $(DZAUX) $(ZLASRC)
-+	ln -sf libsuperlumt64_z.so.$(SONAME) libsuperlumt64_z.so
- 
- ##################################
- # Do not optimize this routine   #
- ##################################
--dlamch.o: dlamch.c ; $(CC) -c $(NOOPTS) $<
--slamch.o: slamch.c ; $(CC) -c $(NOOPTS) $<
--superlu_timer.o:  superlu_timer.c ; $(CC) -c $(PREDEFS) $(NOOPTS) $<
--dclock.o:  dclock.c ; $(CC) -c $(PREDEFS) $(NOOPTS) $<
-+slamch.o: slamch.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
-+dlamch.o: dlamch.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
-+superlu_timer.o:  superlu_timer.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $<
-+dclock.o:  dclock.c ; $(CC) -fPIC $(BLASLIB) -c $(NOOPTS) $(CDEFS) $<
- 
- # Do not optimize this on Cray; related to 'volatile' variable.
- await.o: await.c
- 	$(CC) -c $(NOOPTS) $< $(VERBOSE)
- 
- .c.o:
--	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
-+	$(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) $(BLASLIB) -c $< $(VERBOSE)
- 
- clean:	
- 	rm -f *.o core ../lib/$(SUPERLULIB)
+--- a/SRC/CMakeLists.txt	2016-03-26 08:47:18.885503561 -0400
++++ b/SRC/CMakeLists.txt	2016-03-26 08:52:10.512497969 -0400
+@@ -1,25 +1,25 @@
+ 
+ file (GLOB sources "*.c")
+-add_library (superlu_mt ${sources})
+-set_target_properties (superlu_mt PROPERTIES POSITION_INDEPENDENT_CODE ON
++add_library (superlu_mt64 ${sources})
++set_target_properties (superlu_mt64 PROPERTIES POSITION_INDEPENDENT_CODE ON
+                        VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BugFix} SOVERSION ${VERSION_MAJOR}
+                        VERSION ${VERSION_MAJOR}.${VERSION_MINOR} SOVERSION ${VERSION_MAJOR})
+ 
+-set_property(TARGET superlu_mt PROPERTY C_STANDARD 99)
++set_property(TARGET superlu_mt64 PROPERTY C_STANDARD 99)
+ 
+ if (HAVE_LIB_M)
+-  target_link_libraries (superlu_mt PRIVATE m)
++  target_link_libraries (superlu_mt64 PRIVATE m)
+ endif ()
+ 
+-target_link_libraries (superlu_mt PRIVATE ${BLAS_LIB})
+-target_compile_definitions (superlu_mt PRIVATE Add_)
++target_link_libraries (superlu_mt64 PRIVATE ${BLAS_LIB})
++target_compile_definitions (superlu_mt64 PRIVATE Add_)
+ 
+ if (PLAT STREQUAL "_PTHREAD")
+-  target_compile_definitions (superlu_mt PUBLIC __PTHREAD)
+-  target_link_libraries (superlu_mt PRIVATE ${CMAKE_THREAD_LIBS_INIT})
++  target_compile_definitions (superlu_mt64 PUBLIC __PTHREAD)
++  target_link_libraries (superlu_mt64 PRIVATE ${CMAKE_THREAD_LIBS_INIT})
+ elseif (PLAT STREQUAL "_OPENMP")
+-  target_compile_definitions (superlu_mt PUBLIC __OPENMP)
+-  target_link_libraries (superlu_mt PRIVATE OpenMP::OpenMP_C)
++  target_compile_definitions (superlu_mt64 PUBLIC __OPENMP)
++  target_link_libraries (superlu_mt64 PRIVATE OpenMP::OpenMP_C)
+ endif ()
+ 
+ if (LONGINT)
+--- a/EXAMPLE/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/EXAMPLE/CMakeLists.txt	2026-03-28 15:07:25.793040173 +0100
+@@ -32,80 +32,80 @@
+ 
+ # examples for complex
+ add_executable(pclinsol  ${_DEPENDENCY_ALL} pclinsol.c)
+-target_link_libraries(pclinsol superlu_mt)
++target_link_libraries(pclinsol superlu_mt64)
+ 
+ add_executable(pclinsolx  ${_DEPENDENCY_ALL} pclinsolx.c)
+-target_link_libraries(pclinsolx superlu_mt)
++target_link_libraries(pclinsolx superlu_mt64)
+ 
+ add_executable(pclinsolx1  ${_DEPENDENCY_ALL} pclinsolx1.c)
+-target_link_libraries(pclinsolx1 superlu_mt)
++target_link_libraries(pclinsolx1 superlu_mt64)
+ 
+ add_executable(pclinsolx2  ${_DEPENDENCY_ALL} pclinsolx2.c)
+-target_link_libraries(pclinsolx2 superlu_mt)
++target_link_libraries(pclinsolx2 superlu_mt64)
+ 
+ add_executable(pcrepeat  ${_DEPENDENCY_ALL} pcrepeat.c)
+-target_link_libraries(pcrepeat superlu_mt)
++target_link_libraries(pcrepeat superlu_mt64)
+ 
+ add_executable(pcspmd  ${_DEPENDENCY_ALL} pcspmd.c)
+-target_link_libraries(pcspmd superlu_mt)
++target_link_libraries(pcspmd superlu_mt64)
+ 
+ # examples for double
+ add_executable(pdlinsol  ${_DEPENDENCY_ALL} pdlinsol.c)
+-target_link_libraries(pdlinsol superlu_mt)
++target_link_libraries(pdlinsol superlu_mt64)
+ 
+ add_executable(pdlinsolx  ${_DEPENDENCY_ALL} pdlinsolx.c)
+-target_link_libraries(pdlinsolx superlu_mt)
++target_link_libraries(pdlinsolx superlu_mt64)
+ 
+ add_executable(pdlinsolx1  ${_DEPENDENCY_ALL} pdlinsolx1.c)
+-target_link_libraries(pdlinsolx1 superlu_mt)
++target_link_libraries(pdlinsolx1 superlu_mt64)
+ 
+ add_executable(pdlinsolx2  ${_DEPENDENCY_ALL} pdlinsolx2.c)
+-target_link_libraries(pdlinsolx2 superlu_mt)
++target_link_libraries(pdlinsolx2 superlu_mt64)
+ 
+ add_executable(pdrepeat  ${_DEPENDENCY_ALL} pdrepeat.c)
+-target_link_libraries(pdrepeat superlu_mt)
++target_link_libraries(pdrepeat superlu_mt64)
+ 
+ add_executable(pdspmd  ${_DEPENDENCY_ALL} pdspmd.c)
+-target_link_libraries(pdspmd superlu_mt)
++target_link_libraries(pdspmd superlu_mt64)
+ 
+ # examples for float
+ add_executable(pslinsol  ${_DEPENDENCY_ALL} pslinsol.c)
+-target_link_libraries(pslinsol superlu_mt)
++target_link_libraries(pslinsol superlu_mt64)
+ 
+ add_executable(pslinsolx  ${_DEPENDENCY_ALL} pslinsolx.c)
+-target_link_libraries(pslinsolx superlu_mt)
++target_link_libraries(pslinsolx superlu_mt64)
+ 
+ add_executable(pslinsolx1  ${_DEPENDENCY_ALL} pslinsolx1.c)
+-target_link_libraries(pslinsolx1 superlu_mt)
++target_link_libraries(pslinsolx1 superlu_mt64)
+ 
+ add_executable(pslinsolx2  ${_DEPENDENCY_ALL} pslinsolx2.c)
+-target_link_libraries(pslinsolx2 superlu_mt)
++target_link_libraries(pslinsolx2 superlu_mt64)
+ 
+ add_executable(psrepeat  ${_DEPENDENCY_ALL} psrepeat.c)
+-target_link_libraries(psrepeat superlu_mt)
++target_link_libraries(psrepeat superlu_mt64)
+ 
+ add_executable(psspmd  ${_DEPENDENCY_ALL} psspmd.c)
+-target_link_libraries(psspmd superlu_mt)
++target_link_libraries(psspmd superlu_mt64)
+ 
+ 
+ # examples for double complex
+ add_executable(pzlinsol  ${_DEPENDENCY_ALL} pzlinsol.c)
+-target_link_libraries(pzlinsol superlu_mt)
++target_link_libraries(pzlinsol superlu_mt64)
+ 
+ add_executable(pzlinsolx  ${_DEPENDENCY_ALL} pzlinsolx.c)
+-target_link_libraries(pzlinsolx superlu_mt)
++target_link_libraries(pzlinsolx superlu_mt64)
+ 
+ add_executable(pzlinsolx1  ${_DEPENDENCY_ALL} pzlinsolx1.c)
+-target_link_libraries(pzlinsolx1 superlu_mt)
++target_link_libraries(pzlinsolx1 superlu_mt64)
+ 
+ add_executable(pzlinsolx2  ${_DEPENDENCY_ALL} pzlinsolx2.c)
+-target_link_libraries(pzlinsolx2 superlu_mt)
++target_link_libraries(pzlinsolx2 superlu_mt64)
+ 
+ add_executable(pzrepeat  ${_DEPENDENCY_ALL} pzrepeat.c)
+-target_link_libraries(pzrepeat superlu_mt)
++target_link_libraries(pzrepeat superlu_mt64)
+ 
+ add_executable(pzspmd  ${_DEPENDENCY_ALL} pzspmd.c)
+-target_link_libraries(pzspmd superlu_mt)
++target_link_libraries(pzspmd superlu_mt64)
+ 
+ 
+ if(MSVC AND WinGetOpt_FOUND)
+--- a/TESTING/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/TESTING/CMakeLists.txt	2026-03-28 15:25:34.305093454 +0100
+@@ -1,7 +1,7 @@
+ include_directories(${PROJECT_SOURCE_DIR}/SRC)
+ 
+ # Libs linked to all of the tests
+-set(test_link_libs matgen)
++set(test_link_libs matgen64)
+ 
+ add_subdirectory(MATGEN)
+ 
+--- a/TESTING/MATGEN/CMakeLists.txt	2026-03-09 00:55:05.000000000 +0100
++++ b/TESTING/MATGEN/CMakeLists.txt	2026-03-28 15:17:51.570812037 +0100
+@@ -106,5 +106,5 @@
+   )
+ endif()
+ 
+-add_library(matgen ${sources})
+-target_link_libraries(matgen superlu_mt)
++add_library(matgen64 ${sources})
++target_link_libraries(matgen64 superlu_mt64)

diff --git a/SuperLUMT64-fix_examples.patch b/SuperLUMT64-fix_examples.patch
deleted file mode 100644
index 80147c8..0000000
--- a/SuperLUMT64-fix_examples.patch
+++ /dev/null
@@ -1,160 +0,0 @@
---- EXAMPLE64/Makefile.orig	2015-04-29 02:32:29.000000000 +0200
-+++ EXAMPLE64/Makefile	2016-03-29 14:49:09.238904138 +0200
-@@ -70,107 +70,107 @@
- ZREPOBJS	= pzrepeat.o
- ZSPMDOBJS       = pzspmd.o
- 
--pslinsol: $(SLINOBJS) ../lib/$(SUPERLULIB)
-+pslinsol: $(SLINOBJS) ../lib/libsuperlumt64_s.so
- 	$(LOADER) $(LOADOPTS) $(SLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pslinsolx: pslinsolx.o ../lib/$(SUPERLULIB)
-+pslinsolx: pslinsolx.o ../lib/libsuperlumt64_s.so
- 	$(LOADER) $(LOADOPTS) pslinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pslinsolx1: pslinsolx1.o ../lib/$(SUPERLULIB)
-+pslinsolx1: pslinsolx1.o ../lib/libsuperlumt64_s.so
- 	$(LOADER) $(LOADOPTS) pslinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pslinsolx2: pslinsolx2.o ../lib/$(SUPERLULIB)
-+pslinsolx2: pslinsolx2.o ../lib/libsuperlumt64_s.so
- 	$(LOADER) $(LOADOPTS) pslinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--psrepeat: $(SREPOBJS) ../lib/$(SUPERLULIB)
-+psrepeat: $(SREPOBJS) ../lib/libsuperlumt64_s.so
- 	$(LOADER) $(LOADOPTS) $(SREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--psspmd: $(SSPMDOBJS) ../lib/$(SUPERLULIB)
-+psspmd: $(SSPMDOBJS) ../lib/libsuperlumt64_s.so
- 	$(LOADER) $(LOADOPTS) $(SSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsol: $(DLINOBJS) ../lib/$(SUPERLULIB)
-+pdlinsol: $(DLINOBJS) ../lib/libsuperlumt64_d.so
- 	$(LOADER) $(LOADOPTS) $(DLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsolx: pdlinsolx.o ../lib/$(SUPERLULIB)
-+pdlinsolx: pdlinsolx.o ../lib/libsuperlumt64_d.so
- 	$(LOADER) $(LOADOPTS) pdlinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsolx1: pdlinsolx1.o ../lib/$(SUPERLULIB)
-+pdlinsolx1: pdlinsolx1.o ../lib/libsuperlumt64_d.so
- 	$(LOADER) $(LOADOPTS) pdlinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdlinsolx2: pdlinsolx2.o ../lib/$(SUPERLULIB)
-+pdlinsolx2: pdlinsolx2.o ../lib/libsuperlumt64_d.so
- 	$(LOADER) $(LOADOPTS) pdlinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdrepeat: $(DREPOBJS) ../lib/$(SUPERLULIB)
-+pdrepeat: $(DREPOBJS) ../lib/libsuperlumt64_d.so
- 	$(LOADER) $(LOADOPTS) $(DREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pdspmd: $(DSPMDOBJS) ../lib/$(SUPERLULIB)
-+pdspmd: $(DSPMDOBJS) ../lib/libsuperlumt64_d.so
- 	$(LOADER) $(LOADOPTS) $(DSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsol: $(CLINOBJS) ../lib/$(SUPERLULIB)
-+pclinsol: $(CLINOBJS) ../lib/libsuperlumt64_c.so
- 	$(LOADER) $(LOADOPTS) $(CLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsolx: pclinsolx.o ../lib/$(SUPERLULIB)
-+pclinsolx: pclinsolx.o ../lib/libsuperlumt64_c.so
- 	$(LOADER) $(LOADOPTS) pclinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsolx1: pclinsolx1.o ../lib/$(SUPERLULIB)
-+pclinsolx1: pclinsolx1.o ../lib/libsuperlumt64_c.so
- 	$(LOADER) $(LOADOPTS) pclinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pclinsolx2: pclinsolx2.o ../lib/$(SUPERLULIB)
-+pclinsolx2: pclinsolx2.o ../lib/libsuperlumt64_c.so
- 	$(LOADER) $(LOADOPTS) pclinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pcrepeat: $(CREPOBJS) ../lib/$(SUPERLULIB)
-+pcrepeat: $(CREPOBJS) ../lib/libsuperlumt64_c.so
- 	$(LOADER) $(LOADOPTS) $(CREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pcspmd: $(CSPMDOBJS) ../lib/$(SUPERLULIB)
-+pcspmd: $(CSPMDOBJS) ../lib/libsuperlumt64_c.so
- 	$(LOADER) $(LOADOPTS) $(CSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsol: $(ZLINOBJS) ../lib/$(SUPERLULIB)
-+pzlinsol: $(ZLINOBJS) ../lib/libsuperlumt64_z.so
- 	$(LOADER) $(LOADOPTS) $(ZLINOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsolx: pzlinsolx.o ../lib/$(SUPERLULIB)
-+pzlinsolx: pzlinsolx.o ../lib/libsuperlumt64_z.so
- 	$(LOADER) $(LOADOPTS) pzlinsolx.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsolx1: pzlinsolx1.o ../lib/$(SUPERLULIB)
-+pzlinsolx1: pzlinsolx1.o ../lib/libsuperlumt64_z.so
- 	$(LOADER) $(LOADOPTS) pzlinsolx1.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzlinsolx2: pzlinsolx2.o ../lib/$(SUPERLULIB)
-+pzlinsolx2: pzlinsolx2.o ../lib/libsuperlumt64_z.so
- 	$(LOADER) $(LOADOPTS) pzlinsolx2.o \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzrepeat: $(ZREPOBJS) ../lib/$(SUPERLULIB)
-+pzrepeat: $(ZREPOBJS) ../lib/libsuperlumt64_z.so
- 	$(LOADER) $(LOADOPTS) $(ZREPOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
--pzspmd: $(ZSPMDOBJS) ../lib/$(SUPERLULIB)
-+pzspmd: $(ZSPMDOBJS) ../lib/libsuperlumt64_z.so
- 	$(LOADER) $(LOADOPTS) $(ZSPMDOBJS) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
-+	../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@ $(VERBOSE)
- 
- F77EXM	= f77_main.o hbcode1.o c_bridge_pdgssv.o
- 
--f77exm: $(F77EXM) ../lib/$(SUPERLULIB)
-+f77exm: $(F77EXM) ../lib/libsuperlumt64_s.so
- 	$(FORTRAN) $(LOADOPTS) $(F77EXM) \
--	../lib/$(SUPERLULIB) $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@
-+	../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -o $@
- 
- .c.o:
- 	$(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)

diff --git a/SuperLUMT64-fix_testsuite.patch b/SuperLUMT64-fix_testsuite.patch
deleted file mode 100644
index 40b2462..0000000
--- a/SuperLUMT64-fix_testsuite.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- TESTING/Makefile.orig	2016-03-26 08:56:10.347188385 -0400
-+++ TESTING/Makefile	2016-03-26 08:58:39.763126530 -0400
-@@ -51,21 +51,21 @@
- 
- all: single double complex complex16
- 
--pstest: $(SLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pstest: $(SLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(SLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt64_s.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
--pdtest: $(DLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pdtest: $(DLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(DLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt64_d.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
--pctest: $(CLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pctest: $(CLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(CLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt64_c.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
--pztest: $(ZLINTST) $(ALINTST) ../lib/$(SUPERLULIB) $(TMGLIB)
-+pztest: $(ZLINTST) $(ALINTST) $(TMGLIB)
- 	$(LOADER) $(LOADOPTS) $(ZLINTST) $(ALINTST) \
--	$(TMGLIB) ../lib/$(SUPERLULIB) $(BLASLIB) -lm $(MPLIB) -o $@
-+	$(TMGLIB) -Wl,-rpath,../SRC ../lib/libsuperlumt64_z.so $(BLASLIB) $(MATHLIB) $(MPLIB) -lgomp -o $@
- 
- single: pstest pstest.out
- 

diff --git a/SuperLUMT64-resolve_prototype_mismatches.patch b/SuperLUMT64-resolve_prototype_mismatches.patch
new file mode 100644
index 0000000..de0f25e
--- /dev/null
+++ b/SuperLUMT64-resolve_prototype_mismatches.patch
@@ -0,0 +1,930 @@
+From e60ed2c1dd491e1832d783f519c1851288f9d422 Mon Sep 17 00:00:00 2001
+From: Sherry Li <xsli@lbl.gov>
+Date: Sun, 29 Mar 2026 10:33:02 -0700
+Subject: [PATCH] resolve prototype mismatches, mostly related to 64-bit int.
+
+---
+ EXAMPLE/pclinsol.c   |  5 +++--
+ EXAMPLE/pclinsolx.c  | 13 ++++++-------
+ EXAMPLE/pclinsolx1.c | 11 +++++------
+ EXAMPLE/pclinsolx2.c | 11 +++++------
+ EXAMPLE/pdlinsol.c   |  5 +++--
+ EXAMPLE/pdlinsolx.c  | 11 +++++------
+ EXAMPLE/pdlinsolx1.c | 11 +++++------
+ EXAMPLE/pdlinsolx2.c | 11 +++++------
+ EXAMPLE/pslinsol.c   |  5 +++--
+ EXAMPLE/pslinsolx.c  | 11 +++++------
+ EXAMPLE/pslinsolx1.c | 11 +++++------
+ EXAMPLE/pslinsolx2.c | 11 +++++------
+ EXAMPLE/pzlinsol.c   | 17 ++++++++---------
+ EXAMPLE/pzlinsolx.c  | 11 +++++------
+ EXAMPLE/pzlinsolx1.c | 12 ++++++------
+ EXAMPLE/pzlinsolx2.c | 11 +++++------
+ SRC/creadMM.c        | 15 +++++++--------
+ SRC/dreadMM.c        | 15 +++++++--------
+ SRC/pcutil.c         |  4 ++--
+ SRC/pdutil.c         |  4 ++--
+ SRC/psutil.c         |  4 ++--
+ SRC/pzutil.c         |  4 ++--
+ SRC/slu_mt_cdefs.h   |  2 +-
+ SRC/slu_mt_ddefs.h   |  2 +-
+ SRC/slu_mt_sdefs.h   |  2 +-
+ SRC/slu_mt_zdefs.h   |  2 +-
+ SRC/sreadMM.c        | 15 +++++++--------
+ SRC/util.c           |  2 +-
+ SRC/zreadMM.c        | 15 +++++++--------
+ 29 files changed, 120 insertions(+), 133 deletions(-)
+
+diff --git a/EXAMPLE/pclinsol.c b/EXAMPLE/pclinsol.c
+index d443b9f..28dae76 100644
+--- a/EXAMPLE/pclinsol.c
++++ b/EXAMPLE/pclinsol.c
+@@ -39,7 +39,8 @@ int main(int argc, char *argv[])
+     trans_t  trans;
+     complex   *xact, *rhs;
+     superlu_memusage_t   superlu_memusage;
+-    void   parse_command_line();
++    void parse_command_line(int argc, char *argv[], int_t *procs, int_t *n,
++		   int_t *b, int_t *w, int_t *r, int_t *maxsup);
+ 
+     nrhs              = 1;
+     trans             = NOTRANS;
+@@ -55,7 +56,7 @@ int main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel>=1 || DEBUGlevel>=1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #undef HB
+diff --git a/EXAMPLE/pclinsolx.c b/EXAMPLE/pclinsolx.c
+index 05ef50e..56e3512 100644
+--- a/EXAMPLE/pclinsolx.c
++++ b/EXAMPLE/pclinsolx.c
+@@ -16,12 +16,11 @@ at the top-level directory.
+  * September 10, 2007
+  *
+  */
++#include <unistd.h>
+ #include "slu_mt_cdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -46,9 +45,9 @@ main(int argc, char *argv[])
+     float      *ferr, *berr;
+     float      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+-    void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork,
+-                            int_t *w, int_t *relax, float *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++    void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
++		   int_t *w, int_t *relax, float *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -78,7 +77,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pclinsolx1.c b/EXAMPLE/pclinsolx1.c
+index 583bbe9..8c3be45 100644
+--- a/EXAMPLE/pclinsolx1.c
++++ b/EXAMPLE/pclinsolx1.c
+@@ -25,12 +25,11 @@ at the top-level directory.
+  * PCGSSVX: perm_c, etree, colcnt_h, part_super_h.
+  *
+  */
++#include <unistd.h> 
+ #include "slu_mt_cdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, A1, L, U;
+     SuperMatrix B, B1, X;
+@@ -56,8 +55,8 @@ main(int argc, char *argv[])
+     float      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, float *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, float *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -87,7 +86,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pclinsolx2.c b/EXAMPLE/pclinsolx2.c
+index 37c931b..0b06676 100644
+--- a/EXAMPLE/pclinsolx2.c
++++ b/EXAMPLE/pclinsolx2.c
+@@ -23,12 +23,11 @@ at the top-level directory.
+  *    superlumt_options.diag_pivot_thresh = 0.0;
+  * 
+  */
++#include <unistd.h> 
+ #include "slu_mt_cdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -55,8 +54,8 @@ main(int argc, char *argv[])
+     float      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, float *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, float *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -86,7 +85,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pdlinsol.c b/EXAMPLE/pdlinsol.c
+index c2e9dd1..1c4ae20 100644
+--- a/EXAMPLE/pdlinsol.c
++++ b/EXAMPLE/pdlinsol.c
+@@ -39,7 +39,8 @@ int main(int argc, char *argv[])
+     trans_t  trans;
+     double   *xact, *rhs;
+     superlu_memusage_t   superlu_memusage;
+-    void   parse_command_line();
++    void parse_command_line(int argc, char *argv[], int_t *procs, int_t *n,
++		   int_t *b, int_t *w, int_t *r, int_t *maxsup);
+ 
+     nrhs              = 1;
+     trans             = NOTRANS;
+@@ -55,7 +56,7 @@ int main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel>=1 || DEBUGlevel>=1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #undef HB
+diff --git a/EXAMPLE/pdlinsolx.c b/EXAMPLE/pdlinsolx.c
+index e2a93ec..4ebefd1 100644
+--- a/EXAMPLE/pdlinsolx.c
++++ b/EXAMPLE/pdlinsolx.c
+@@ -16,12 +16,11 @@ at the top-level directory.
+  * September 10, 2007
+  *
+  */
++#include <unistd.h>
+ #include "slu_mt_ddefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -47,8 +46,8 @@ main(int argc, char *argv[])
+     double      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, double *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, double *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -78,7 +77,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pdlinsolx1.c b/EXAMPLE/pdlinsolx1.c
+index 74bad93..7c2f835 100644
+--- a/EXAMPLE/pdlinsolx1.c
++++ b/EXAMPLE/pdlinsolx1.c
+@@ -25,12 +25,11 @@ at the top-level directory.
+  * PDGSSVX: perm_c, etree, colcnt_h, part_super_h.
+  *
+  */
++#include <unistd.h> 
+ #include "slu_mt_ddefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, A1, L, U;
+     SuperMatrix B, B1, X;
+@@ -56,8 +55,8 @@ main(int argc, char *argv[])
+     double      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, double *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, double *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -87,7 +86,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pdlinsolx2.c b/EXAMPLE/pdlinsolx2.c
+index 57b2d21..9223a6b 100644
+--- a/EXAMPLE/pdlinsolx2.c
++++ b/EXAMPLE/pdlinsolx2.c
+@@ -23,12 +23,11 @@ at the top-level directory.
+  *    superlumt_options.diag_pivot_thresh = 0.0;
+  * 
+  */
++#include <unistd.h> 
+ #include "slu_mt_ddefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -55,8 +54,8 @@ main(int argc, char *argv[])
+     double      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, double *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, double *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -86,7 +85,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pslinsol.c b/EXAMPLE/pslinsol.c
+index e55b534..d77dbd3 100644
+--- a/EXAMPLE/pslinsol.c
++++ b/EXAMPLE/pslinsol.c
+@@ -39,7 +39,8 @@ int main(int argc, char *argv[])
+     trans_t  trans;
+     float   *xact, *rhs;
+     superlu_memusage_t   superlu_memusage;
+-    void   parse_command_line();
++    void parse_command_line(int argc, char *argv[], int_t *procs, int_t *n,
++		   int_t *b, int_t *w, int_t *r, int_t *maxsup);
+ 
+     nrhs              = 1;
+     trans             = NOTRANS;
+@@ -55,7 +56,7 @@ int main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel>=1 || DEBUGlevel>=1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #undef HB
+diff --git a/EXAMPLE/pslinsolx.c b/EXAMPLE/pslinsolx.c
+index 6d8bd48..b67456d 100644
+--- a/EXAMPLE/pslinsolx.c
++++ b/EXAMPLE/pslinsolx.c
+@@ -16,12 +16,11 @@ at the top-level directory.
+  * September 10, 2007
+  *
+  */
++#include <unistd.h>
+ #include "slu_mt_sdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -47,8 +46,8 @@ main(int argc, char *argv[])
+     float      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, float *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, float *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -78,7 +77,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pslinsolx1.c b/EXAMPLE/pslinsolx1.c
+index b58a406..99aefec 100644
+--- a/EXAMPLE/pslinsolx1.c
++++ b/EXAMPLE/pslinsolx1.c
+@@ -25,12 +25,11 @@ at the top-level directory.
+  * PSGSSVX: perm_c, etree, colcnt_h, part_super_h.
+  *
+  */
++#include <unistd.h> 
+ #include "slu_mt_sdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, A1, L, U;
+     SuperMatrix B, B1, X;
+@@ -56,8 +55,8 @@ main(int argc, char *argv[])
+     float      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, float *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, float *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -87,7 +86,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pslinsolx2.c b/EXAMPLE/pslinsolx2.c
+index 504a6e4..318e4cc 100644
+--- a/EXAMPLE/pslinsolx2.c
++++ b/EXAMPLE/pslinsolx2.c
+@@ -23,12 +23,11 @@ at the top-level directory.
+  *    superlumt_options.diag_pivot_thresh = 0.0;
+  * 
+  */
++#include <unistd.h> 
+ #include "slu_mt_sdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -55,8 +54,8 @@ main(int argc, char *argv[])
+     float      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, float *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, float *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -86,7 +85,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pzlinsol.c b/EXAMPLE/pzlinsol.c
+index 0d67c2b..59586eb 100644
+--- a/EXAMPLE/pzlinsol.c
++++ b/EXAMPLE/pzlinsol.c
+@@ -16,12 +16,10 @@ at the top-level directory.
+  * September 10, 2007
+  *
+  */
++#include <unistd.h> 
+ #include "slu_mt_zdefs.h"
+ 
+-#include <unistd.h>
+-
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix   A;
+     NCformat *Astore;
+@@ -42,7 +40,7 @@ main(int argc, char *argv[])
+     doublecomplex   *xact, *rhs;
+     superlu_memusage_t   superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *procs, int_t *n,
+-                            int_t *b, int_t *w, int_t *r, int_t *maxsup);
++		   int_t *b, int_t *w, int_t *r, int_t *maxsup);
+ 
+     nrhs              = 1;
+     trans             = NOTRANS;
+@@ -58,10 +56,11 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel>=1 || DEBUGlevel>=1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+-#define HB
++#undef HB
++
+ #if defined( DEN )
+     m = n;
+     nnz = n * n;
+@@ -78,8 +77,8 @@ main(int argc, char *argv[])
+     zblockdiag(nb, bs, nnz, &a, &asub, &xa);
+ #elif defined( HB )
+     zreadhb(&m, &n, &nnz, &a, &asub, &xa);
+-#else    
+-    zreadmt(&m, &n, &nnz, &a, &asub, &xa);
++#else 
++    zreadMM(&m, &n, &nnz, &a, &asub, &xa);
+ #endif
+ 
+     zCreate_CompCol_Matrix(&A, m, n, nnz, a, asub, xa, SLU_NC, SLU_Z, SLU_GE);
+diff --git a/EXAMPLE/pzlinsolx.c b/EXAMPLE/pzlinsolx.c
+index f71c910..bc0a38a 100644
+--- a/EXAMPLE/pzlinsolx.c
++++ b/EXAMPLE/pzlinsolx.c
+@@ -16,12 +16,11 @@ at the top-level directory.
+  * September 10, 2007
+  *
+  */
++#include <unistd.h>
+ #include "slu_mt_zdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -47,8 +46,8 @@ main(int argc, char *argv[])
+     double      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, double *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, double *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -78,7 +77,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pzlinsolx1.c b/EXAMPLE/pzlinsolx1.c
+index 86cdad9..01380ac 100644
+--- a/EXAMPLE/pzlinsolx1.c
++++ b/EXAMPLE/pzlinsolx1.c
+@@ -25,12 +25,11 @@ at the top-level directory.
+  * PZGSSVX: perm_c, etree, colcnt_h, part_super_h.
+  *
+  */
++#include <unistd.h> 
+ #include "slu_mt_zdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, A1, L, U;
+     SuperMatrix B, B1, X;
+@@ -56,8 +55,9 @@ main(int argc, char *argv[])
+     double      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, double *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, double *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
++
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+     fact  = EQUILIBRATE;
+@@ -86,7 +86,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/EXAMPLE/pzlinsolx2.c b/EXAMPLE/pzlinsolx2.c
+index b35fdd2..a969dc9 100644
+--- a/EXAMPLE/pzlinsolx2.c
++++ b/EXAMPLE/pzlinsolx2.c
+@@ -23,12 +23,11 @@ at the top-level directory.
+  *    superlumt_options.diag_pivot_thresh = 0.0;
+  * 
+  */
++#include <unistd.h> 
+ #include "slu_mt_zdefs.h"
+ 
+-#include <unistd.h>
+ 
+-int
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     SuperMatrix A, L, U;
+     SuperMatrix B, X;
+@@ -55,8 +54,8 @@ main(int argc, char *argv[])
+     double      u, drop_tol, rpg, rcond;
+     superlu_memusage_t superlu_memusage;
+     void parse_command_line(int argc, char *argv[], int_t *nprocs, int_t *lwork, 
+-                            int_t *w, int_t *relax, double *u, fact_t *fact, 
+-                            trans_t *trans, yes_no_t *refact, equed_t *equed);
++		   int_t *w, int_t *relax, double *u, fact_t *fact, 
++		   trans_t *trans, yes_no_t *refact, equed_t *equed);
+ 
+     /* Default parameters to control factorization. */
+     nprocs = 1;
+@@ -86,7 +85,7 @@ main(int argc, char *argv[])
+ 
+ #if ( PRNTlevel==1 )
+     cpp_defs();
+-    printf("int_t %d bytes\n", sizeof(int_t));
++    printf("int_t %lu bytes\n", sizeof(int_t));
+ #endif
+ 
+ #define HB
+diff --git a/SRC/creadMM.c b/SRC/creadMM.c
+index b62842e..26f69f4 100644
+--- a/SRC/creadMM.c
++++ b/SRC/creadMM.c
+@@ -9,15 +9,14 @@ The source code is distributed under BSD license, see the file License.txt
+ at the top-level directory.
+ */
+ 
+-/*
++/*! @file creadMM.c 
++ * \brief Read a matrix stored in Matrix Market format.
++ *
++ * <pre>
+  * -- SuperLU MT routine (version 4.0) --
+  * Lawrence Berkeley National Lab, Univ. of California Berkeley
+  * July 6, 2025
+- *
+-
+-/*! @file 
+- * \brief Read a matrix stored in Matrix Market format.
+- *
++ * </pre>
+  */
+ #include <ctype.h>
+ #include "slu_mt_cdefs.h"
+@@ -37,7 +36,7 @@ at the top-level directory.
+  */
+ 
+ void
+-creadMM(int *m, int *n, int_t *nonz,
++creadMM(int_t *m, int_t *n, int_t *nonz,
+ 	    complex **nzval, int_t **rowind, int_t **colptr)
+ {
+     int_t    j, k, jsize, nnz, nz, new_nonz;
+@@ -110,7 +109,7 @@ creadMM(int *m, int *n, int_t *nonz,
+ 
+      /* 3/ Read n and nnz */
+ #ifdef _LONGINT
+-    sscanf(line, "%d%d%lld",m, n, nonz);
++    sscanf(line, "%lld%lld%lld", m, n, nonz);
+ #else
+     sscanf(line, "%d%d%d",m, n, nonz);
+ #endif
+diff --git a/SRC/dreadMM.c b/SRC/dreadMM.c
+index 12437f2..1454625 100644
+--- a/SRC/dreadMM.c
++++ b/SRC/dreadMM.c
+@@ -9,15 +9,14 @@ The source code is distributed under BSD license, see the file License.txt
+ at the top-level directory.
+ */
+ 
+-/*
++/*! @file dreadMM.c 
++ * \brief Read a matrix stored in Matrix Market format.
++ *
++ * <pre>
+  * -- SuperLU MT routine (version 4.0) --
+  * Lawrence Berkeley National Lab, Univ. of California Berkeley
+  * July 6, 2025
+- *
+-
+-/*! @file 
+- * \brief Read a matrix stored in Matrix Market format.
+- *
++ * </pre>
+  */
+ #include <ctype.h>
+ #include "slu_mt_ddefs.h"
+@@ -37,7 +36,7 @@ at the top-level directory.
+  */
+ 
+ void
+-dreadMM(int *m, int *n, int_t *nonz,
++dreadMM(int_t *m, int_t *n, int_t *nonz,
+ 	    double **nzval, int_t **rowind, int_t **colptr)
+ {
+     int_t    j, k, jsize, nnz, nz, new_nonz;
+@@ -110,7 +109,7 @@ dreadMM(int *m, int *n, int_t *nonz,
+ 
+      /* 3/ Read n and nnz */
+ #ifdef _LONGINT
+-    sscanf(line, "%d%d%lld",m, n, nonz);
++    sscanf(line, "%lld%lld%lld", m, n, nonz);
+ #else
+     sscanf(line, "%d%d%d",m, n, nonz);
+ #endif
+diff --git a/SRC/pcutil.c b/SRC/pcutil.c
+index 2879b48..c5c39f0 100644
+--- a/SRC/pcutil.c
++++ b/SRC/pcutil.c
+@@ -329,9 +329,9 @@ cprint_lu_col(int_t pnum, char *msg, int_t pcol, int_t jcol, int_t w, int_t pivr
+     k = xlusup[jcol];
+     printf("(" IFMT ")\tL-col in s-node: xlsub " IFMT " - " IFMT ", xlusup " IFMT "-" IFMT "\n",
+ 	   pnum, xlsub[fsupc],xlsub_end[fsupc],xlusup[jcol],xlusup_end[jcol]);
+-    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i)
++    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i, ++k)
+ 	printf("(" IFMT ")\t" IFMT "\t%.8e\t%.8e\n", pnum, lsub[i], 
+-	lusup[k++].r, lusup[k++].i);
++	lusup[k].r, lusup[k].i);
+ 
+     fflush(stdout);
+ }
+diff --git a/SRC/pdutil.c b/SRC/pdutil.c
+index e009682..b37ddf5 100644
+--- a/SRC/pdutil.c
++++ b/SRC/pdutil.c
+@@ -326,8 +326,8 @@ dprint_lu_col(int_t pnum, char *msg, int_t pcol, int_t jcol, int_t w, int_t pivr
+     k = xlusup[jcol];
+     printf("(" IFMT ")\tL-col in s-node: xlsub " IFMT " - " IFMT ", xlusup " IFMT "-" IFMT "\n",
+ 	   pnum, xlsub[fsupc],xlsub_end[fsupc],xlusup[jcol],xlusup_end[jcol]);
+-    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i)
+-	printf("("  IFMT ")\t" IFMT "\t%.8e\n", pnum, lsub[i], lusup[k++]);
++    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i, ++k)
++	printf("("  IFMT ")\t" IFMT "\t%.8e\n", pnum, lsub[i], lusup[k]);
+ 
+     fflush(stdout);
+ }
+diff --git a/SRC/psutil.c b/SRC/psutil.c
+index 359a02b..ed4a8c5 100644
+--- a/SRC/psutil.c
++++ b/SRC/psutil.c
+@@ -326,8 +326,8 @@ sprint_lu_col(int_t pnum, char *msg, int_t pcol, int_t jcol, int_t w, int_t pivr
+     k = xlusup[jcol];
+     printf("(" IFMT ")\tL-col in s-node: xlsub " IFMT " - " IFMT ", xlusup " IFMT "-" IFMT "\n",
+ 	   pnum, xlsub[fsupc],xlsub_end[fsupc],xlusup[jcol],xlusup_end[jcol]);
+-    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i)
+-	printf("("  IFMT ")\t" IFMT "\t%.8e\n", pnum, lsub[i], lusup[k++]);
++    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i, ++k)
++	printf("("  IFMT ")\t" IFMT "\t%.8e\n", pnum, lsub[i], lusup[k]);
+ 
+     fflush(stdout);
+ }
+diff --git a/SRC/pzutil.c b/SRC/pzutil.c
+index 9c612cd..1c4caa9 100644
+--- a/SRC/pzutil.c
++++ b/SRC/pzutil.c
+@@ -329,9 +329,9 @@ zprint_lu_col(int_t pnum, char *msg, int_t pcol, int_t jcol, int_t w, int_t pivr
+     k = xlusup[jcol];
+     printf("(" IFMT ")\tL-col in s-node: xlsub " IFMT " - " IFMT ", xlusup " IFMT "-" IFMT "\n",
+ 	   pnum, xlsub[fsupc],xlsub_end[fsupc],xlusup[jcol],xlusup_end[jcol]);
+-    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i)
++    for (i = xlsub[fsupc]; i < xlsub_end[fsupc]; ++i, ++k)
+ 	printf("(" IFMT ")\t" IFMT "\t%.8e\t%.8e\n", pnum, lsub[i], 
+-	lusup[k++].r, lusup[k++].i);
++	lusup[k].r, lusup[k].i);
+ 
+     fflush(stdout);
+ }
+diff --git a/SRC/slu_mt_cdefs.h b/SRC/slu_mt_cdefs.h
+index 533902d..3adce8f 100644
+--- a/SRC/slu_mt_cdefs.h
++++ b/SRC/slu_mt_cdefs.h
+@@ -417,7 +417,7 @@ extern void compressSUP (const int_t, GlobalLU_t *);
+ extern int_t  *TreePostorder (int_t, int_t *);
+ extern void creadmt (int_t *, int_t *, int_t *, complex **, int_t **, int_t **);
+ extern void creadhb (int_t *, int_t *, int_t *, complex **, int_t **, int_t **);
+-extern void creadMM (int *m, int *n, int_t *nonz, complex **nzval, int_t **rowind, int_t **colptr);
++extern void creadMM (int_t *m, int_t *n, int_t *nonz, complex **nzval, int_t **rowind, int_t **colptr);
+ extern void cGenXtrue (int_t, int_t, complex *, int_t);
+ extern void cFillRHS (trans_t, int_t, complex *, int_t, 
+ 		      SuperMatrix *, SuperMatrix *);
+diff --git a/SRC/slu_mt_ddefs.h b/SRC/slu_mt_ddefs.h
+index b709d19..0a9f917 100644
+--- a/SRC/slu_mt_ddefs.h
++++ b/SRC/slu_mt_ddefs.h
+@@ -416,7 +416,7 @@ extern void compressSUP (const int_t, GlobalLU_t *);
+ extern int_t  *TreePostorder (int_t, int_t *);
+ extern void dreadmt (int_t *, int_t *, int_t *, double **, int_t **, int_t **);
+ extern void dreadhb (int_t *, int_t *, int_t *, double **, int_t **, int_t **);
+-extern void dreadMM (int *m, int *n, int_t *nonz, double **nzval, int_t **rowind, int_t **colptr);
++extern void dreadMM (int_t *m, int_t *n, int_t *nonz, double **nzval, int_t **rowind, int_t **colptr);
+ extern void dGenXtrue (int_t, int_t, double *, int_t);
+ extern void dFillRHS (trans_t, int_t, double *, int_t, 
+ 		      SuperMatrix *, SuperMatrix *);
+diff --git a/SRC/slu_mt_sdefs.h b/SRC/slu_mt_sdefs.h
+index 21f0245..8f8aeb5 100644
+--- a/SRC/slu_mt_sdefs.h
++++ b/SRC/slu_mt_sdefs.h
+@@ -416,7 +416,7 @@ extern void compressSUP (const int_t, GlobalLU_t *);
+ extern int_t  *TreePostorder (int_t, int_t *);
+ extern void sreadmt (int_t *, int_t *, int_t *, float **, int_t **, int_t **);
+ extern void sreadhb (int_t *, int_t *, int_t *, float **, int_t **, int_t **);
+-extern void sreadMM (int *m, int *n, int_t *nonz, float **nzval, int_t **rowind, int_t **colptr);
++extern void sreadMM (int_t *m, int_t *n, int_t *nonz, float **nzval, int_t **rowind, int_t **colptr);
+ extern void sGenXtrue (int_t, int_t, float *, int_t);
+ extern void sFillRHS (trans_t, int_t, float *, int_t, 
+ 		      SuperMatrix *, SuperMatrix *);
+diff --git a/SRC/slu_mt_zdefs.h b/SRC/slu_mt_zdefs.h
+index 97ed1a1..e5e81d6 100644
+--- a/SRC/slu_mt_zdefs.h
++++ b/SRC/slu_mt_zdefs.h
+@@ -417,7 +417,7 @@ extern void compressSUP (const int_t, GlobalLU_t *);
+ extern int_t  *TreePostorder (int_t, int_t *);
+ extern void zreadmt (int_t *, int_t *, int_t *, doublecomplex **, int_t **, int_t **);
+ extern void zreadhb (int_t *, int_t *, int_t *, doublecomplex **, int_t **, int_t **);
+-extern void zreadMM (int *m, int *n, int_t *nonz, doublecomplex **nzval, int_t **rowind, int_t **colptr);
++extern void zreadMM (int_t *m, int_t *n, int_t *nonz, doublecomplex **nzval, int_t **rowind, int_t **colptr);
+ extern void zGenXtrue (int_t, int_t, doublecomplex *, int_t);
+ extern void zFillRHS (trans_t, int_t, doublecomplex *, int_t, 
+ 		      SuperMatrix *, SuperMatrix *);
+diff --git a/SRC/sreadMM.c b/SRC/sreadMM.c
+index c1e33c7..8a7ef75 100644
+--- a/SRC/sreadMM.c
++++ b/SRC/sreadMM.c
+@@ -9,15 +9,14 @@ The source code is distributed under BSD license, see the file License.txt
+ at the top-level directory.
+ */
+ 
+-/*
++/*! @file sreadMM.c 
++ * \brief Read a matrix stored in Matrix Market format.
++ *
++ * <pre>
+  * -- SuperLU MT routine (version 4.0) --
+  * Lawrence Berkeley National Lab, Univ. of California Berkeley
+  * July 6, 2025
+- *
+-
+-/*! @file 
+- * \brief Read a matrix stored in Matrix Market format.
+- *
++ * </pre>
+  */
+ #include <ctype.h>
+ #include "slu_mt_sdefs.h"
+@@ -37,7 +36,7 @@ at the top-level directory.
+  */
+ 
+ void
+-sreadMM(int *m, int *n, int_t *nonz,
++sreadMM(int_t *m, int_t *n, int_t *nonz,
+ 	    float **nzval, int_t **rowind, int_t **colptr)
+ {
+     int_t    j, k, jsize, nnz, nz, new_nonz;
+@@ -110,7 +109,7 @@ sreadMM(int *m, int *n, int_t *nonz,
+ 
+      /* 3/ Read n and nnz */
+ #ifdef _LONGINT
+-    sscanf(line, "%d%d%lld",m, n, nonz);
++    sscanf(line, "%lld%lld%lld", m, n, nonz);
+ #else
+     sscanf(line, "%d%d%d",m, n, nonz);
+ #endif
+diff --git a/SRC/util.c b/SRC/util.c
+index efc607a..71699af 100644
+--- a/SRC/util.c
++++ b/SRC/util.c
+@@ -249,7 +249,7 @@ int cpp_defs()
+ {
+     printf("CPP Defs:\n");
+ #ifdef PRNTlevel
+-    printf("\tPRNTlevel=\n", PRNTlevel);
++    printf("\tPRNTlevel=%d\n", PRNTlevel);
+ #endif 
+ #ifdef DEBUGlevel
+     printf("\tDEBUGlevel=%d\n", DEBUGlevel);
+diff --git a/SRC/zreadMM.c b/SRC/zreadMM.c
+index ee5a381..ee8e14a 100644
+--- a/SRC/zreadMM.c
++++ b/SRC/zreadMM.c
+@@ -9,15 +9,14 @@ The source code is distributed under BSD license, see the file License.txt
+ at the top-level directory.
+ */
+ 
+-/*
++/*! @file zreadMM.c 
++ * \brief Read a matrix stored in Matrix Market format.
++ *
++ * <pre>
+  * -- SuperLU MT routine (version 4.0) --
+  * Lawrence Berkeley National Lab, Univ. of California Berkeley
+  * July 6, 2025
+- *
+-
+-/*! @file 
+- * \brief Read a matrix stored in Matrix Market format.
+- *
++ * </pre>
+  */
+ #include <ctype.h>
+ #include "slu_mt_zdefs.h"
+@@ -37,7 +36,7 @@ at the top-level directory.
+  */
+ 
+ void
+-zreadMM(int *m, int *n, int_t *nonz,
++zreadMM(int_t *m, int_t *n, int_t *nonz,
+ 	    doublecomplex **nzval, int_t **rowind, int_t **colptr)
+ {
+     int_t    j, k, jsize, nnz, nz, new_nonz;
+@@ -110,7 +109,7 @@ zreadMM(int *m, int *n, int_t *nonz,
+ 
+      /* 3/ Read n and nnz */
+ #ifdef _LONGINT
+-    sscanf(line, "%d%d%lld",m, n, nonz);
++    sscanf(line, "%lld%lld%lld", m, n, nonz);
+ #else
+     sscanf(line, "%d%d%d",m, n, nonz);
+ #endif
+

diff --git a/sources b/sources
index 4a7315a..64f7126 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (superlu_mt-4.0.1.tar.gz) = 68c25f272b4b58c8bdcf288064b180d3463ffeb382990cdd41db2638b787040d27a35cb5b751acf8cf0feb6ffc58cc6f53b5c605b86812e6247ab7d8cdf46577
+SHA512 (superlu_mt-4.0.2.tar.gz) = 65b3b412123622b1226bced7179c63a74c7956ffb13e0b8c0e085effb82d57f1c4b32329ea988c9df54727729e078f8dd8b35e3b4a0d9587cb6a15cb7004cfaf

                 reply	other threads:[~2026-09-26  7:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179040926127.1.12333743307275925554.rpms-SuperLUMT-4aa0ce24ae91@fedoraproject.org \
    --to=sagitter@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox