git: a43eddf7cd6d - main - science/pnetcdf: fix build on non amd64 / i386 architectures
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 07 Aug 2022 02:16:41 UTC
The branch main has been updated by pkubaj:
URL: https://cgit.FreeBSD.org/ports/commit/?id=a43eddf7cd6d1f1ccf0991dbbff54ec9cc33a44c
commit a43eddf7cd6d1f1ccf0991dbbff54ec9cc33a44c
Author: Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2022-08-07 02:14:13 +0000
Commit: Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2022-08-07 02:16:00 +0000
science/pnetcdf: fix build on non amd64 / i386 architectures
1. Set the default to OPENMPI on everywhere to fix:
====> You must select one and only one option from the MPI single
=====> No option was selected (and one must be)
2. Then exclude it on other 32-bit architectures, not just i386.
---
science/pnetcdf/Makefile | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/science/pnetcdf/Makefile b/science/pnetcdf/Makefile
index 9990f1995913..bfa494405188 100644
--- a/science/pnetcdf/Makefile
+++ b/science/pnetcdf/Makefile
@@ -19,10 +19,15 @@ CONFLICTS_INSTALL= hdf-4.*
OPTIONS_SINGLE= MPI
OPTIONS_SINGLE_MPI= OPENMPI MPICH
-OPTIONS_DEFAULT=${OPTIONS_DEFAULT_${ARCH}}
-OPTIONS_DEFAULT_amd64= OPENMPI
+OPTIONS_DEFAULT= OPENMPI
+OPTIONS_DEFAULT_armv6= MPICH
+OPTIONS_DEFAULT_armv7= MPICH
OPTIONS_DEFAULT_i386= MPICH
-#OPTIONS_DEFAULT=OPENMPI
+OPTIONS_DEFAULT_powerpc= MPICH
+OPTIONS_EXCLUDE_armv6= OPENMPI
+OPTIONS_EXCLUDE_armv7= OPENMPI
+OPTIONS_EXCLUDE_i386= OPENMPI
+OPTIONS_EXCLUDE_powerpc= OPENMPI
MPICH_USES= mpi:mpich
OPENMPI_USES= mpi:openmpi
@@ -34,7 +39,7 @@ OPENMPI_USES= mpi:openmpi
FCFLAGS+= -fallow-argument-mismatch
.endif
-.if ${ARCH} == i386 && ${PORT_OPTIONS:MOPENMPI}
+.if (${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc) && ${PORT_OPTIONS:MOPENMPI}
BROKEN= Use MPICH option instead. PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS. See https://github.com/open-mpi/ompi/issues/3195 for details
.endif