This document is an instruction on how to build, test and install HDF5 library on Cygwin.
NOTE: HDF5 2.0 and later requires CMake for building. See INSTALL_CMake.md` for complete build instructions using CMake Presets (recommended method).
To install the Cygwin net release, go to http://www.cygwin.com and click on setup-x86_64.exe under the heading "Current Cygwin DLL version". This will download a GUI installer called setup-x86_64.exe which can be run to download a complete Cygwin installation via the internet. Then follow the instructions on each screen to install Cygwin.
Cygwin uses packages to manage installing various software. Users can choose to install or uninstall certain packages by running setup.exe. http://www.cygwin.com/packages/ provides detailed information about Cygwin packages.
Most required dependencies can be satisfied by installing all packages in the "Devel" category. However, please verify that you have installed all packages listed below.
The following compilers are supported by HDF5 and included in the Cygwin package system:
gcc, which includes:gcc-core: C compilergcc-g++: C++ compilergcc-fortran: Fortran compiler
By default, the current configuration uses vendor compilers; to use another compiler run the following commands before running configure:
setenv CC "foo -flags"
setenv FC "fffoo -flags"For example, if users want to use pgf90 as a fortran compiler, then:
setenv FC pgf90Note: See the configure help page (
configure --help) for a list of environment variables that have an effect on building the library.
- 2.2.1 zlib:
zlib-1.2.8or later is supported and tested. - 2.2.2 Szip:
libaec-1.1.2or later is supported and tested.
The following standard utilities are also required to build and test HDF5:
bison: yacc implementationflex: flex utilitymake: make utility
Download the CMake package and follow the notes in the INSTALL_CMake.md file to build HDF5 with the CMake utilities.
Users can download the HDF5 source code from the official GitHub repository: https://github.com/HDFGroup/hdf5.
The HDF5 source code is distributed in a variety of formats which can be unpacked with the following commands, each of which creates an hdf5-2.0.x directory.
2.1 Non-compressed tar archive (*.tar)
tar xf hdf5-2.0.x.tar2.2 Gzip'd tar archive (*.tar.gz)
gunzip < hdf5-2.0.x.tar.gz | tar xf -2.3 Bzip'd tar archive (*.tar.bz2)
bunzip2 < hdf5-2.0.x.tar.bz2 | tar xf -In Cygwin, most compilers and settings are automatically detected during the configure script. However, if you are building Fortran, we recommend that you explicitly set the FC variable in your environment to use the gfortran compiler. For example, issue the command:
export FC=gfortranFollow build and test steps in the INSTALL_CMake.md file.
After installation, go to your installation directory. There should be three subdirectories: bin, include, and lib.
cache_apitests may fail. This is a known issue with Cygwin.make checkfails when building shared lib files is enabled. The default on Cygwin has been changed to disable shared libraries. It can be enabled with theBUILD_SHARED_LIBSconfigure option but is likely to failmake checkwith GCC compilers.
For further assistance:
- HDF Forum: https://forum.hdfgroup.org/
- HDF Helpdesk: https://help.hdfgroup.org/