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/


Reply via email to