[MacPorts] #47806: OpenCoarrays @1.0

MacPorts noreply at macports.org
Mon Jun 22 05:23:00 PDT 2015


#47806: OpenCoarrays @1.0
-------------------------------+----------------------
  Reporter:  fanfarillo.gcc@…  |      Owner:  larryv@…
      Type:  submission        |     Status:  assigned
  Priority:  Normal            |  Milestone:
 Component:  ports             |    Version:
Resolution:                    |   Keywords:
      Port:  OpenCoarrays      |
-------------------------------+----------------------

Comment (by fanfarillo.gcc@…):

 Thanks for the new Portfile.
 Unfortunately, I've got some problems:

 1) The checksums are incorrect; the following seems to fix the issue (my
 local Portfile points to the latest version on github):

 checksums           tests-compiler.patch \
                     rmd160  a84fd458052aaa178c0f6c6cc47bd18a6027b3ab \
                     sha256
 4394d381e62b5517f301ffff0b1b075221ed75021653f41d2b625f002f4ebc53 \
                     opencoarrays-
 8301325f8e0a2d4a8f45f32d5e45dbb81b332e6a.tar.gz \
                     rmd160  a84fd458052aaa178c0f6c6cc47bd18a6027b3ab \
                     sha256
 4394d381e62b5517f301ffff0b1b075221ed75021653f41d2b625f002f4ebc53

 2) when the script tries to apply the patch I get the following error:
 --->  Applying patches to OpenCoarrays
 Error: org.macports.patch for port OpenCoarrays returned: command
 execution failed

 In the log file there are the following statement before the error:

 :debug:patch Assembled command: 'cd
 "/opt/local/var/macports/build/_Users_alessandrofanfarillo_ports_science_opencoarrays/OpenCoarrays/work
 /opencoarrays-8301325f8e0a2d4a8f45f32d5e45dbb81bdbb81b332e6a" &&
 /usr/bin/patch -p0'
 :debug:patch Executing command line:  cd
 "/opt/local/var/macports/build/_Users_alessandrofanfarillo_ports_science_opencoarrays/OpenCoarrays/work
 /opencoarrays-8301325f8e0a2d4a8f45f32d5e45dd5e45dbb81b332e6a" &&
 /usr/bin/patch -p0 < '/opt/local/var/macports/distfiles/OpenCoarrays
 /tests-compiler.patch'

 If I go inside the directory
 /opt/local/var/macports/distfiles/OpenCoarrays/ I see only the tests-
 compiler.patch and the compressed directory of OpenCoarrays: opencoarrays-
 8301325f8e0a2d4a8f45f32d5e45dbb81b332e6a.tar.gz

 Note that the latest version on the repository has the file tests-
 compiler.patch inside the files directory and in the main directory of
 OpenCoarrays.

 Am I doing something wrong?

 Replying to [comment:29 larryv@…]:
 > Here’s [[attachment:Portfile.larryv|my portfile]]. Please test it and
 > let me know if it’s satisfactory. Note that the additional
 > [[attachment:tests-compiler.patch|patch]] needs to go into a “files”
 > directory underneath the OpenCoarrays directory.
 >
 > - I’ve renamed it to “OpenCoarrays”.
 > - I’ve moved it to the `science` category. This is in line with related
 >   ports, like the MPICH and OpenMPI ones.
 > - It uses CMake and the `cmake-1.0` portgroup. This obviates the need to
 >   manually pass compiler flags to the build phase.
 > - It currently fetches from GitHub using the `github-1.0` portgroup.
 >   This is easily changed if you end up serving your distfiles from
 >   elsewhere.
 > - It uses the `mpi-1.0` portgroup to handle the dirty business of
 >   selecting compilers and using all the correct executables. The port
 >   can be compiled using `mpich-gcc5`, `mpich-devel-gcc5`, `mpich-gcc6`,
 >   or `mpich-devel-gcc6` by selecting the appropriate combination of
 >   variants, which you can view with `port variants OpenCoarrays`. (Once
 >   #48091 is closed, the OpenMPI variants should work as well.)
 >   {{{
 >   % sudo port install OpenCoarrays                    # Use MPICH 3.1.4
 + GCC 5
 >   % sudo port install OpenCoarrays +gcc6              # Use MPICH 3.1.4
 + GCC 6
 >   % sudo port install OpenCoarrays +mpich_devel       # Use MPICH 3.2b3
 + GCC 5
 >   % sudo port install OpenCoarrays +gcc6 +mpich_devel # Use MPICH 3.2b3
 + GCC 6
 >
 >   % port variants OpenCoarrays
 >   OpenCoarrays has the variants:
 >      debug: Enable debug binaries
 >   [+]gcc5: Build using the MacPorts gcc 5 compiler
 >        * conflicts with gcc6
 >      gcc6: Build using the MacPorts gcc 6 compiler
 >        * conflicts with gcc5
 >   [+]mpich: Build using the MPICH compiler
 >        * conflicts with mpich_devel openmpi openmpi_devel
 >      mpich_devel: Build using the MPICH-devel compiler
 >        * conflicts with mpich openmpi openmpi_devel
 >      openmpi: Build using the OpenMPI compiler
 >        * conflicts with mpich mpich_devel openmpi_devel
 >      openmpi_devel: Build using the OpenMPI-devel compiler
 >        * conflicts with mpich mpich_devel openmpi
 >   }}}
 > - It patches `src/tests/unit/simple/CMakeLists.txt` to prevent it from
 >   using the nonexistent "mpicc".
 > - It enables the test phase, which you can run by executing
 >   `sudo port test OpenCoarrays`.
 > - It installs both the single and MPI libraries, as well as
 >   `opencoarrays.mod`. Note that we cannot install to `${prefix}/mod`
 >   because that would violate our directory hierarchy; I’ve used
 >   `${prefix}/include` instead, as some other Fortran ports do.
 >
 > There are still a couple of wrinkles, but I don’t think they are
 > blockers.
 >
 > - The `mpi-1.0` portgroup creates a library dependency on the selected
 >   MPI port, while OpenCoarrays really just needs a build dependency. The
 >   portgroup is far too convenient overall for this to be a dealbreaker,
 >   but ideally it would be improved to let client ports declare that they
 >   only need MPI for building.
 > - The MPI ports do not have universal variants; thus, `mpi-1.0` does not
 >   allow client ports to have both MPI variants and a universal variant.

-- 
Ticket URL: <https://trac.macports.org/ticket/47806#comment:30>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list