git: e2bc9761556c - main - science/hypre: fix build on powerpc64*
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 07 Nov 2021 12:19:46 UTC
The branch main has been updated by pkubaj:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e2bc9761556c33ed29725da142702878cc572a8c
commit e2bc9761556c33ed29725da142702878cc572a8c
Author: Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2021-11-07 12:15:02 +0000
Commit: Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2021-11-07 12:15:02 +0000
science/hypre: fix build on powerpc64*
Collision with machine/frame.h's lr:
In file included from /wrkdirs/usr/ports/science/hypre/work/hypre-2.23.0/src/distributed_ls/pilut/parilut.c:53:
In file included from /wrkdirs/usr/ports/science/hypre/work/hypre-2.23.0/src/distributed_ls/pilut/ilu.h:29:
In file included from /usr/include/signal.h:40:
In file included from /usr/include/sys/signal.h:48:
In file included from /usr/include/machine/signal.h:45:
/usr/include/machine/frame.h:54:13: error: expected ')'
register_t lr;
---
science/hypre/Makefile | 2 -
...ibuted__ls_pilut_DistributedMatrixPilutSolver.h | 11 +++
..._ls_pilut_HYPRE__DistributedMatrixPilutSolver.c | 11 +++
.../files/patch-distributed__ls_pilut_parilut.c | 79 ++++++++++++++++++++++
.../files/patch-distributed__ls_pilut_serilut.c | 63 +++++++++++++++++
.../hypre/files/patch-distributed__ls_pilut_util.c | 21 ++++++
6 files changed, 185 insertions(+), 2 deletions(-)
diff --git a/science/hypre/Makefile b/science/hypre/Makefile
index 9f220b712de7..b941e7dc9053 100644
--- a/science/hypre/Makefile
+++ b/science/hypre/Makefile
@@ -13,8 +13,6 @@ LICENSE_COMB= dual
LICENSE_FILE_APACHE20= ${WRKSRC}/../LICENSE-APACHE
LICENSE_FILE_MIT= ${WRKSRC}/../LICENSE-MIT
-BROKEN_powerpc64= fails to compile: ./DistributedMatrixPilutSolver.h:97:20: expected ')' before '->' token
-
USES= blaslapack cmake:testing fortran localbase
USE_LDCONFIG= yes
diff --git a/science/hypre/files/patch-distributed__ls_pilut_DistributedMatrixPilutSolver.h b/science/hypre/files/patch-distributed__ls_pilut_DistributedMatrixPilutSolver.h
new file mode 100644
index 000000000000..02cda72afd71
--- /dev/null
+++ b/science/hypre/files/patch-distributed__ls_pilut_DistributedMatrixPilutSolver.h
@@ -0,0 +1,11 @@
+--- distributed_ls/pilut/DistributedMatrixPilutSolver.h.orig 2021-11-07 01:57:53 UTC
++++ distributed_ls/pilut/DistributedMatrixPilutSolver.h
+@@ -86,7 +86,7 @@ HYPRE_Int Ul_timer;
+ #define jr (globals->_jr)
+ #define jw (globals->_jw)
+ #define lastjr (globals->_lastjr)
+-#define lr (globals->_lr)
++#define hypre_lr (globals->_lr)
+ #define lastlr (globals->_lastlr)
+ #define w (globals->_w)
+ #define firstrow (globals->_firstrow)
diff --git a/science/hypre/files/patch-distributed__ls_pilut_HYPRE__DistributedMatrixPilutSolver.c b/science/hypre/files/patch-distributed__ls_pilut_HYPRE__DistributedMatrixPilutSolver.c
new file mode 100644
index 000000000000..6de1489c4226
--- /dev/null
+++ b/science/hypre/files/patch-distributed__ls_pilut_HYPRE__DistributedMatrixPilutSolver.c
@@ -0,0 +1,11 @@
+--- distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c.orig 2021-11-07 12:02:36 UTC
++++ distributed_ls/pilut/HYPRE_DistributedMatrixPilutSolver.c
+@@ -39,7 +39,7 @@ HYPRE_Int HYPRE_NewDistributedMatrixPilutSolver(
+ (hypre_PilutSolverGlobals *) hypre_CTAlloc( hypre_PilutSolverGlobals, 1 , HYPRE_MEMORY_HOST);
+
+ jr = NULL;
+- lr = NULL;
++ hypre_lr = NULL;
+ jw = NULL;
+ w = NULL;
+
diff --git a/science/hypre/files/patch-distributed__ls_pilut_parilut.c b/science/hypre/files/patch-distributed__ls_pilut_parilut.c
new file mode 100644
index 000000000000..9ac4c1cab52c
--- /dev/null
+++ b/science/hypre/files/patch-distributed__ls_pilut_parilut.c
@@ -0,0 +1,79 @@
+--- distributed_ls/pilut/parilut.c.orig 2021-11-07 12:05:55 UTC
++++ distributed_ls/pilut/parilut.c
+@@ -145,7 +145,7 @@ void hypre_ParILUT(DataDistType *ddist, FactorMatType
+ newperm, newiperm, vrowdist, -1);*/
+ hypre_TFree(jr, HYPRE_MEMORY_HOST);
+ hypre_TFree(jw, HYPRE_MEMORY_HOST);
+- hypre_TFree(lr, HYPRE_MEMORY_HOST);
++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST);
+ hypre_TFree(w, HYPRE_MEMORY_HOST);
+ hypre_TFree(pilut_map, HYPRE_MEMORY_HOST);
+ hypre_TFree(nrmat.rmat_rnz, HYPRE_MEMORY_HOST);
+@@ -167,7 +167,7 @@ void hypre_ParILUT(DataDistType *ddist, FactorMatType
+
+ jr = NULL;
+ jw = NULL;
+- lr = NULL;
++ hypre_lr = NULL;
+ w = NULL;
+
+ #ifdef HYPRE_DEBUG
+@@ -651,9 +651,9 @@ void hypre_ComputeRmat(FactorMatType *ldu, ReduceMatTy
+ /* record L elements */
+ if (IsInMIS(pilut_map[rcolind[lastjr]])) {
+ if (rcolind[lastjr] >= firstrow && rcolind[lastjr] < lastrow)
+- lr[lastlr] = (newiperm[rcolind[lastjr]-firstrow] << 1);
++ hypre_lr[lastlr] = (newiperm[rcolind[lastjr]-firstrow] << 1);
+ else {
+- lr[lastlr] = pilut_map[rcolind[lastjr]]; /* map[] == (l<<1) | 1 */
++ hypre_lr[lastlr] = pilut_map[rcolind[lastjr]]; /* map[] == (l<<1) | 1 */
+ hypre_assert(incolind[StripMIS(pilut_map[rcolind[lastjr]])+1] ==
+ rcolind[lastjr]);
+ }
+@@ -696,7 +696,7 @@ void hypre_ComputeRmat(FactorMatType *ldu, ReduceMatTy
+ /* record L elements -- these must be local */
+ if (IsInMIS(pilut_map[ucolind[l]])) {
+ hypre_assert(ucolind[l] >= firstrow && ucolind[l] < lastrow);
+- lr[lastlr] = (newiperm[ucolind[l]-firstrow] << 1);
++ hypre_lr[lastlr] = (newiperm[ucolind[l]-firstrow] << 1);
+ lastlr++;
+ }
+
+@@ -736,7 +736,7 @@ void hypre_ComputeRmat(FactorMatType *ldu, ReduceMatTy
+ /* record L elements -- these must be remote */
+ if (IsInMIS(pilut_map[incolind[l]])) {
+ hypre_assert(incolind[l] < firstrow || incolind[l] >= lastrow);
+- lr[lastlr] = pilut_map[incolind[l]]; /* map[] == (l<<1) | 1 */
++ hypre_lr[lastlr] = pilut_map[incolind[l]]; /* map[] == (l<<1) | 1 */
+ lastlr++;
+ }
+
+@@ -834,7 +834,7 @@ void hypre_FactorLocal(FactorMatType *ldu, ReduceMatTy
+ if (rcolind[lastjr] >= firstrow &&
+ rcolind[lastjr] < lastrow &&
+ newiperm[rcolind[lastjr]-firstrow] < diag) {
+- lr[lastlr] = newiperm[rcolind[lastjr]-firstrow];
++ hypre_lr[lastlr] = newiperm[rcolind[lastjr]-firstrow];
+ lastlr++;
+ }
+
+@@ -873,7 +873,7 @@ void hypre_FactorLocal(FactorMatType *ldu, ReduceMatTy
+ ucolind[l] < lastrow &&
+ newiperm[ucolind[l]-firstrow] < diag) {
+ hypre_assert(IsInMIS(pilut_map[ucolind[l]]));
+- lr[lastlr] = newiperm[ucolind[l]-firstrow];
++ hypre_lr[lastlr] = newiperm[ucolind[l]-firstrow];
+ lastlr++;
+ }
+
+@@ -1353,8 +1353,8 @@ void hypre_ParINIT( ReduceMatType *nrmat, CommInfoType
+ /* Allocate work space */
+ hypre_TFree(jr, HYPRE_MEMORY_HOST);
+ jr = hypre_idx_malloc_init(nrows, -1, "hypre_ParILUT: jr");
+- hypre_TFree(lr, HYPRE_MEMORY_HOST);
+- lr = hypre_idx_malloc_init(nleft, -1, "hypre_ParILUT: lr");
++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST);
++ hypre_lr = hypre_idx_malloc_init(nleft, -1, "hypre_ParILUT: lr");
+ hypre_TFree(jw, HYPRE_MEMORY_HOST);
+ jw = hypre_idx_malloc(nleft, "hypre_ParILUT: jw");
+ hypre_TFree(w, HYPRE_MEMORY_HOST);
diff --git a/science/hypre/files/patch-distributed__ls_pilut_serilut.c b/science/hypre/files/patch-distributed__ls_pilut_serilut.c
new file mode 100644
index 000000000000..359c1faa1fe1
--- /dev/null
+++ b/science/hypre/files/patch-distributed__ls_pilut_serilut.c
@@ -0,0 +1,63 @@
+--- distributed_ls/pilut/serilut.c.orig 2021-11-07 12:06:04 UTC
++++ distributed_ls/pilut/serilut.c
+@@ -70,8 +70,8 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis
+ /* Allocate work space */
+ hypre_TFree(jr, HYPRE_MEMORY_HOST);
+ jr = hypre_idx_malloc_init(nrows, -1, "hypre_SerILUT: jr");
+- hypre_TFree(lr, HYPRE_MEMORY_HOST);
+- lr = hypre_idx_malloc_init(nrows, -1, "hypre_SerILUT: lr");
++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST);
++ hypre_lr = hypre_idx_malloc_init(nrows, -1, "hypre_SerILUT: lr");
+ hypre_TFree(jw, HYPRE_MEMORY_HOST);
+ jw = hypre_idx_malloc(nrows, "hypre_SerILUT: jw");
+ hypre_TFree(w, HYPRE_MEMORY_HOST);
+@@ -158,7 +158,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis
+
+ for (lastjr=1, lastlr=0, j=0, diag_present=0; j<row_size; j++) {
+ if (iperm[ col_ind[j] - firstrow ] < iperm[i])
+- lr[lastlr++] = iperm[ col_ind[j]-firstrow]; /* Copy the L elements separately */
++ hypre_lr[lastlr++] = iperm[ col_ind[j]-firstrow]; /* Copy the L elements separately */
+
+ if (col_ind[j] != i+firstrow) { /* Off-diagonal element */
+ jr[col_ind[j]] = lastjr;
+@@ -207,7 +207,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis
+
+ if (m == -1) { /* Create fill */
+ if (iperm[ucolind[l]-firstrow] < iperm[i])
+- lr[lastlr++] = iperm[ucolind[l]-firstrow]; /* Copy the L elements separately */
++ hypre_lr[lastlr++] = iperm[ucolind[l]-firstrow]; /* Copy the L elements separately */
+
+ jr[ucolind[l]] = lastjr;
+ jw[lastjr] = ucolind[l];
+@@ -258,7 +258,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis
+ if (col_ind[j] >= firstrow &&
+ col_ind[j] < lastrow &&
+ iperm[col_ind[j]-firstrow] < nlocal)
+- lr[lastlr++] = iperm[col_ind[j]-firstrow]; /* Copy the L elements separately */
++ hypre_lr[lastlr++] = iperm[col_ind[j]-firstrow]; /* Copy the L elements separately */
+
+ if (col_ind[j] != i+firstrow) { /* Off-diagonal element */
+ jr[col_ind[j]] = lastjr;
+@@ -304,7 +304,7 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis
+ if (m == -1) { /* Create fill */
+ hypre_CheckBounds(firstrow, ucolind[l], lastrow, globals);
+ if (iperm[ucolind[l]-firstrow] < nlocal)
+- lr[lastlr++] = iperm[ucolind[l]-firstrow]; /* Copy the L elements separately */
++ hypre_lr[lastlr++] = iperm[ucolind[l]-firstrow]; /* Copy the L elements separately */
+
+ jr[ucolind[l]] = lastjr;
+ jw[lastjr] = ucolind[l];
+@@ -330,11 +330,11 @@ HYPRE_Int hypre_SerILUT(DataDistType *ddist, HYPRE_Dis
+ /*hypre_free_multi(jr, jw, lr, w, -1);*/
+ hypre_TFree(jr, HYPRE_MEMORY_HOST);
+ hypre_TFree(jw, HYPRE_MEMORY_HOST);
+- hypre_TFree(lr, HYPRE_MEMORY_HOST);
++ hypre_TFree(hypre_lr, HYPRE_MEMORY_HOST);
+ hypre_TFree(w, HYPRE_MEMORY_HOST);
+ jr = NULL;
+ jw = NULL;
+- lr = NULL;
++ hypre_lr = NULL;
+ w = NULL;
+
+ return(ierr);
diff --git a/science/hypre/files/patch-distributed__ls_pilut_util.c b/science/hypre/files/patch-distributed__ls_pilut_util.c
new file mode 100644
index 000000000000..e6ecf98bc445
--- /dev/null
+++ b/science/hypre/files/patch-distributed__ls_pilut_util.c
@@ -0,0 +1,21 @@
+--- distributed_ls/pilut/util.c.orig 2021-11-07 12:06:10 UTC
++++ distributed_ls/pilut/util.c
+@@ -28,15 +28,15 @@ HYPRE_Int hypre_ExtractMinLR( hypre_PilutSolverGlobals
+ HYPRE_Int i, j=0 ;
+
+ for (i=1; i<lastlr; i++) {
+- if (lr[i] < lr[j])
++ if (hypre_lr[i] < hypre_lr[j])
+ j = i;
+ }
+- i = lr[j];
++ i = hypre_lr[j];
+
+ /* Remove it */
+ lastlr-- ;
+ if (j < lastlr)
+- lr[j] = lr[lastlr];
++ hypre_lr[j] = hypre_lr[lastlr];
+
+ return i;
+ }