Opened 14 years ago

Closed 13 years ago

#22480 closed enhancement (fixed)

Fortran and MPI support for hdf5-18

Reported by: numaryu Owned by: mamoll (Mark Moll)
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: Cc: jcharris@…
Port: hdf5-18

Description

I suggest to add Fortran and MPI support to hdf5-18 as hdf5.

Attachments (2)

Portfile.diff (1.8 KB) - added by numaryu 14 years ago.
Portfile-hdf5-18.diff (794 bytes) - added by jcharris@… 13 years ago.
Suggested patch allowing openmpi variant to work with Fortran.

Download all attachments as: .zip

Change History (10)

Changed 14 years ago by numaryu

Attachment: Portfile.diff added

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to mmoll@…

comment:2 Changed 14 years ago by mamoll (Mark Moll)

HDF5 does not support all languages simultaneously. Certain combinations of shared/parallel/{fortran,c++} don't work either. See http://www.hdfgroup.org/HDF5/release/SuppConfigFeats5.html. Type "make check" to see what works. For each variant you add, you basically need to check which other variants if conflicts with, based on the output of "make check".

comment:3 in reply to:  2 Changed 14 years ago by numaryu

Replying to mmoll@…:

HDF5 does not support all languages simultaneously. Certain combinations of shared/parallel/{fortran,c++} don't work either. See http://www.hdfgroup.org/HDF5/release/SuppConfigFeats5.html. Type "make check" to see what works. For each variant you add, you basically need to check which other variants if conflicts with, based on the output of "make check".

I thought it's working because my program does not give me an error. I understand the situation, and withdraw this suggestion. Hope HDF5 supports those features soon.

comment:4 Changed 14 years ago by nerdling (Jeremy Lavergne)

Resolution: invalid
Status: newclosed

comment:5 Changed 13 years ago by jcharris@…

Cc: jcharris@… added

Cc Me!

comment:6 Changed 13 years ago by jcharris@…

Resolution: invalid
Status: closedreopened

As far as I can tell, HDF5 does work with Fortran and MPI at this point, and it is relatively simple to setup. See attached patch. Some combination of the originally submitted patch and my attached patch may work best.

For an openmpi variant, openmpi depends on gcc44, so Fortran is already installed. In order to get hdf5-18 to work with Fortran, one just needs to set the --enable-fortran flag and remove the -arch flag, as in the gcc44 variant (because gfortran, as configured in MacPorts, does not support it -- although this is an issue of how it's setup in MacPorts, as gfortran, as I understand it, can be setup to support -arch).

One could point out that the patch that I have attached does not allow one to do something like "sudo port install hdf5-18 +openmpi +gcc44" to combine the MPI-enabling and Fortran-enabling variants -- but (a) openmpi depends on gcc44 already, so the functionality should be added into hdf5-18; (b) if desired, instead of having +openmpi set the compiler, one could have the Fortran compiler set by the +gcc44 variant, and have +openmpi add the necessary flags "-I/opt/local/include/openmpi -I/opt/local/lib -L/opt/local/lib -lmpi_f90 -lmpi_f77 -lmpi" (which one can see by running 'openmpif90 -showme').

Changed 13 years ago by jcharris@…

Attachment: Portfile-hdf5-18.diff added

Suggested patch allowing openmpi variant to work with Fortran.

comment:7 Changed 13 years ago by mamoll (Mark Moll)

I just updated the port to hdf5 1.8.7 in r78599. Fortran support, MPI support or both at the same time should work now.

comment:8 Changed 13 years ago by mamoll (Mark Moll)

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.