On 2020-01-21 12:45, Martin Reindl wrote:
Am 20.01.20 um 22:55 schrieb j...@bitminer.ca:
This fixes the mpifort command which can't find egfortran.
I also propose removing COMPILER = base-clang since this compiles
with gcc anyway. GCC also has some advantages for us fortran
users (coarray fortran).
Hello John,
- OK for the CONFIGURE_ARGS fortran bits, thanks for spotting!
- REVISION should start at 0
Ahh, the perils of porting infrequently. Good point.
- egfortran actually is the one from ports-gcc (8.3.0), I don't see the
point replacing base clang 8.0.1 if you need coarray fortran?
On AMD64, OpenMPI compiles with ports-gcc anyway, hence my notion
to avoid confusion by naming the one compiler:
===> Checking files for openmpi-4.0.2p1
`/usr/distfiles/openmpi-4.0.2.tar.gz' is up to date.
(SHA256) openmpi-4.0.2.tar.gz: OK
===> openmpi-4.0.2p1 depends on: libltdl-* -> libltdl-2.4.2p1
===> openmpi-4.0.2p1 depends on: gcc->=8,<9 -> gcc-8.3.0p4
....etc etc
Once built (using ports-gcc egcc and egfortran), then OpenMPI is
compatible with clang but not flang because the two Fortrans
have different array implementations (max rank=15 on egfortran
versus merely 8 or 9 on flang, and OpenMPI notices.)
The GCC gfortran compiler supports co-arrays but flang does
not, to my knowledge. The coarrays lib is a very simple
port that I should post.
--John
-m
--John
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/openmpi/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- Makefile 22 Dec 2019 15:47:35 -0000 1.29
+++ Makefile 20 Jan 2020 19:19:35 -0000
@@ -4,6 +4,7 @@ COMMENT = open source MPI-3.1 implement
V = 4.0.2
DISTNAME = openmpi-$V
+REVISION = 1
SHARED_LIBS += mca_common_dstore 0.0 # 1.0
SHARED_LIBS += mca_common_monitoring 0.0 # 60.0
@@ -30,11 +31,14 @@ WANTLIB += c execinfo m pciaccess pthrea
MASTER_SITES
= ${HOMEPAGE}/software/ompi/v${V:C/^([0-9]+\.[0-9]+).*/\1/}/downloads/
-COMPILER = base-clang ports-gcc
+COMPILER = ports-gcc
MODULES = fortran
MODFORTRAN_COMPILER = gfortran
BUILD_DEPENDS = devel/libtool,-ltdl
LIB_DEPENDS = devel/libexecinfo
+
+CONFIGURE_ARGS += --enable-mpi-fortran=usempif08
+CONFIGURE_ARGS += FC=egfortran
MAKE_FLAGS = V=1
FAKE_FLAGS = sysconfdir=${PREFIX}/share/examples/openmpi/