[138004] trunk/dports/science/octopus/Portfile

dstrubbe at macports.org dstrubbe at macports.org
Thu Jun 25 09:54:04 PDT 2015


Revision: 138004
          https://trac.macports.org/changeset/138004
Author:   dstrubbe at macports.org
Date:     2015-06-25 09:54:04 -0700 (Thu, 25 Jun 2015)
Log Message:
-----------
octopus:
* Enable variants +g95 and +gfortran.
* Disable some variants, with explanations about the problems.
* Improved setting of FCCPP to work with llvm and clang.
* Some changes in OpenMPI have made that --disable-mpi2 is no longer necessary. I am revbumping for this, since use of MPI2 can help performance.
* Set MPIEXEC only when using MPI in the tests, and write a caveat.
* Comment on problem with mpi.setup or at least how I am using it.

Modified Paths:
--------------
    trunk/dports/science/octopus/Portfile

Modified: trunk/dports/science/octopus/Portfile
===================================================================
--- trunk/dports/science/octopus/Portfile	2015-06-25 16:49:50 UTC (rev 138003)
+++ trunk/dports/science/octopus/Portfile	2015-06-25 16:54:04 UTC (rev 138004)
@@ -6,7 +6,7 @@
 
 name                octopus
 version             4.1.2
-revision            3
+revision            4
 categories          science
 platforms           darwin
 license             GPL-2+
@@ -25,7 +25,9 @@
 checksums           rmd160  0ce62e38bed99e436b83489375fe55e53e64a538 \
                     sha256  c43ac301ff035caee667292841c5d9f166da986634cf2623e3f5a8aa86fe7a69
 
-mpi.setup           require_fortran -clang -dragonegg -fortran
+# dragonegg freezes when building; no acceptable way to set FCCPP for gcc5 or gcc6;
+# clang versions are unnecessary and may cause FCCPP trouble too
+mpi.setup           require_fortran -dragonegg -gcc5 -gcc6 -clang
 compilers.enforce_fortran libxc
 
 depends_lib         port:atlas port:libxc port:fftw-3 port:gsl
@@ -55,21 +57,25 @@
 }
 
 pre-configure {
-    configure.args-append  FCCPP="${configure.cpp} -E -ansi"
+    # note: from version 5.0 the configure script will handle this
+    if {[variant_isset llvm]} {
+        configure.args-append  FCCPP="${configure.cc} -x c -E -ansi"
+    } elseif {[string match *cpp-mp-* ${configure.cpp}]} {
+        # gcc's cpp will not accept the -E flag
+        configure.args-append  FCCPP="${configure.cpp} -ansi"
+    } else {
+        # clang
+        configure.args-append  FCCPP="${configure.cc} -E -ansi"        
+    }
 }
 
 if {[mpi_variant_isset]} {
     configure.args-delete  --disable-mpi
     configure.args-append  --enable-mpi --without-external_zoltan
-
-    if {[variant_isset openmpi] || [variant_isset openmpi-devel]} {
-        # an in-place allreduce of lxyz_inv in mesh_init.F90 leads to zeroes afterwards with OpenMPI and MPI2
-        configure.args-append  --disable-mpi2
-    }
 }
 
 # More options that could be added:
-# variants: berkeleygw, openmp, threads (for fftw, atlas?), scalapack, arpack
+# variants: berkeleygw, openmp, threads (for fftw, atlas?), arpack
 # no way to turn off PAPI.
 
 # libxc does not have universal variant, so octopus cannot either
@@ -79,7 +85,13 @@
 test.target         check-full
 
 pre-test {
-    test.env-append MPIEXEC=${prefix}/bin/${mpi.exec}
+    if {[mpi_variant_isset]} {
+        test.env-append MPIEXEC=${prefix}/bin/${mpi.exec}
+    }
+    if {[variant_isset openmpi] || [variant_isset openmpi-devel]} {
+        ui_msg "Note: Test with OpenMPI may hang after periodic_systems/03-sodium_chain.02-ground_state_disp.inp."
+        ui_msg "This does not seem necessarily to indicate a problem with the build."
+    }
 }
 
 variant newuoa description {Build with internal newuoa library for optimal control} {
@@ -119,6 +131,8 @@
 
     mpi.setup               require
     # FIXME: this unnecessarily enforces scalapack had same C compiler as we are using.
+    # also, if +scalapack but no MPI is used, an internal error from active_variants
+    # is produced rather than saying you need MPI or just adding it to variants as intended.
     mpi.enforce_variant     scalapack
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150625/b9d29fe9/attachment.html>


More information about the macports-changes mailing list