Opened 15 years ago
Closed 14 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)
Change History (10)
Changed 15 years ago by numaryu
Attachment: | Portfile.diff added |
---|
comment:1 Changed 15 years ago by jmroot (Joshua Root)
Owner: | changed from macports-tickets@… to mmoll@… |
---|
comment:2 follow-up: 3 Changed 15 years ago by mamoll (Mark Moll)
comment:3 Changed 15 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 15 years ago by nerdling (Jeremy Lavergne)
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:6 Changed 14 years ago by jcharris@…
Resolution: | invalid |
---|---|
Status: | closed → reopened |
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 14 years ago by jcharris@…
Attachment: | Portfile-hdf5-18.diff added |
---|
Suggested patch allowing openmpi variant to work with Fortran.
comment:7 Changed 14 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 14 years ago by mamoll (Mark Moll)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
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".