summaryrefslogtreecommitdiffstats
path: root/release_docs/INSTALL_MinGW.txt
diff options
context:
space:
mode:
Diffstat (limited to 'release_docs/INSTALL_MinGW.txt')
-rw-r--r--release_docs/INSTALL_MinGW.txt269
1 files changed, 269 insertions, 0 deletions
diff --git a/release_docs/INSTALL_MinGW.txt b/release_docs/INSTALL_MinGW.txt
new file mode 100644
index 0000000..245e3ff
--- /dev/null
+++ b/release_docs/INSTALL_MinGW.txt
@@ -0,0 +1,269 @@
+************************************************************************
+ HDF5 Build and Install Instructions for MinGW
+************************************************************************
+
+NOTE:
+We are no longer actively supporting MinGW as of 1.8.5.
+------ 1.8.9 notes ------
+Autotools configure failed to correctly generate the *config.h files.
+CMake 2.8.6 can configure and build the library, however fortran programs did
+ not execute correctly. Some tests may fail. Used the "MSYS Makefiles"
+ generator for the "-G" parameter. Follow the CMake.txt document.
+
+Below are the old instructions from the 1.8.4 release.
+
+************************************************************************
+************************************************************************
+************************************************************************
+
+Preconditions:
+--------------
+
+1. Installed MinGW (5.1.6 or higher) and MSYS (1.0.11 or higher)
+
+ To install the MinGW net release, go to http://www.mingw.org and
+ follow the instructions for a manual installation.
+
+2. Compilers Installed
+
+ 2.1 C/C++ Compilers HDF5-1.8.4 Supported
+
+ gcc-4.4.0 is included in MinGW, which includes:
+ gcc : GNU C compiler
+ gcc-g++: GNU C++ compiler
+ gfortran: GNU Fortran compiler
+
+ 2.2 Using Compilers Not Supported
+
+ The compilers in 2.1 are supported and tested by The HDF
+ Group. Any other compilers may still work but they are not
+ guaranteed by HDF group.
+
+ If users want to use other compilers except those in 2.1,
+ try to set the following variables to override the default
+ choices.
+
+ CC : C compiler command
+ CXX : C++ compiler command
+ FC : Fortran compiler command
+
+3. HDF5 Dependencies
+
+ 3.1 Zlib
+
+ zlib-1.2.2 or later is supported and tested on MinGW.
+
+ 3.2 Szip
+ The HDF5 library has a predefined compression filter that uses
+ the extended-Rice lossless compression algorithm for chunked
+ datatsets. For more information about Szip compression and
+ license terms see
+ http://hdfgroup.org/HDF5/doc_resource/SZIP/index.html.
+
+ Szip is currently not supported on MinGW, although we plan to add
+ support in the future.
+
+
+Build HDF5 on MinGW
+----------------------
+
+1. Get HDF5 source code package
+ Users can download HDF5 source code package from HDF website
+ (http://hdfgroup.org).
+
+2. Unpacking the distribution
+
+ 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-1.8.4' directory.
+
+ 2.1 Non-compressed tar archive (*.tar)
+
+ $ tar xf hdf5-1.8.4.tar
+
+ 2.2 Gzip'd tar archive (*.tar.gz)
+
+ $ gunzip < hdf5-1.8.4.tar.gz | tar xf -
+
+ 2.3 Bzip'd tar archive (*.tar.bz2)
+
+ $ bunzip2 < hdf5-1.8.4.tar.bz2 | tar xf -
+
+3. Setup Environment
+
+ Building HDF5 1.8.4 requires an explicit link to libws2_32.a
+ to handle Windows Sockets. To do this, issue the command:
+
+ $ export LIBS=-lws2_32
+
+ Also, the default search path can cause trouble using ./configure in HDF5
+ 1.8.4. Check that non-MinGW or non-msys directories are not added to the
+ PATH. You can do this by:
+
+ $ echo $PATH
+
+ If there are spurious entries, specifically those related to other Windows
+ compilers or tools, remove them by setting a new PATH without them. For
+ example,
+
+ $ export PATH=.:/usr/local/bin:/mingw/bin:/bin
+
+
+4. Remove Unsupported Source
+
+ There are some projects which are built by default to test performance on
+ POSIX systems. They are irrelevent on MinGW, and can cause compiler errors.
+
+ To remove these projects from the build script, open ./perform/Makefile.in
+ Find all instances of "h5perf_serial", and remove them (along with their
+ respective extension or targets, if they exist). Then save the file.
+
+
+5. Remove Tests
+
+ When building with MinGW, many tests must be removed from the
+ test suite run with "make check". This is because of the way
+ MinGW and Windows handles certain parsing. For example, MinGW
+ treats any command parameter starting with '/' as a path, and
+ replaces it with it's root directory on Windows, such as
+ 'C:\msys\1.0\'.
+
+ To remove the tests, open the given 'Makefile.in' and edit the
+ line begining with "TEST_SCRIPT = " to remove the test script.
+ For example, to remove the "testerror.sh" from ./test/Makefile.in:
+
+ 1) Open ./test/Makefile.in
+
+ 2) Find the line "TEST_SCRIPT = $(top_srcdir)/test/testerror.sh"
+
+ 3) Change it to simply read "TEST_SCRIPT =", and save.
+
+ Do this for the following Makefiles and tests:
+
+ - ./test/Makefile.in: "testerror.sh testlibinfo.sh testcheckinfo.sh"
+
+ - ./tools/h5diff/Makefile.in: "testh5diff.sh"
+
+ - ./tools/h5ls/Makefile.in: "testh5ls.sh"
+
+ - ./tools/misc/Makefile.in: "testh5mkgrp.sh"
+
+ - ./tools/h5copy/Makefile.in: "testh5copy.sh"
+
+ - ./tools/h5stat/Makefile.in: "testh5stat.sh"
+
+ - ./tools/h5dump/Makefile.in: "testh5dump.sh" and "testh5dumpxml.sh"
+
+
+6. Configuring
+
+ Notes:
+ 1) Note: MinGW is c++ package is missing the libstdc++.dll.a file
+ and c++ linking fails. Do not enable c++ option in configure.
+
+ 2) See detailed information in hdf5/release_docs/INSTALL,
+ part 5. Full installation instructions for source
+ distributions
+
+ In short,
+
+ To configure HDF5 with C Library, use
+
+ $ ./configure
+
+ If you would like to build the C++ library, add the parameter:
+
+ --enable-cxx (12-11-2009 MinGW C++ package is missing a file)
+
+ If you would like to build without the Zlib library, add the parameter:
+
+ --without-zlib
+
+ If you would like to specify the the Zlib library, there are two ways:
+
+ Using
+
+ --with-zlib=INCDIR,LIBDIR
+
+ For example, if the zlib library is installed in
+ /usr, which is the parent directory of directories
+ "include" and "lib",
+
+ --with-zlib=/usr/include,/usr/lib
+
+ Through the CPPFLAGS and LDFLAGS Variables
+
+ For example, if zlib was installed in the directory
+ /c/usr then using the following command to configure
+ HDF5 with zib
+
+ $ export CPPFLAGS=-I/usr/include
+ $ export LDFLAGS=-L/usr/lib
+
+ If you would like to specify the install directory, add the parameter:
+
+ --prefix="path for installation"
+
+ By default, HDF5 library, header files, examples, and
+ support programs will be installed in /usr/local/lib,
+ /usr/local/include, /usr/local/doc/hdf5/examples, and
+ /usr/local/bin. To use a path other than /usr/local specify
+ the path with the `--prefix=PATH' switch as in the above
+ command.
+
+ Combination of Switches
+
+ All of the above switches can be combined together. For
+ example, if users want to configure HDF5 C/Fortran
+ library, with zlib library at /c/usr/, and
+ install HDF5 into directory /c/hdf5 using
+ gcc/gfortran as C/Fortran compiler:
+
+ $ ./configure
+ --with-zlib=/usr/include,/usr/lib
+ --prefix=/c/hdf5
+ --enable-fortran
+ <"If no more switches, then hit Enter">
+
+ Notes: The command format above is for readilibity. In practice,
+ please type in the command above with at least one
+ space between each line, No "Enter" until users finish
+ the switches and want to run the configure.
+
+
+ or do it through CPPFLAGS and LDFLAGS variables:
+
+ $ CPPFLAGS=-I/usr/include \
+ $ LDFLAGS=-L/usr/lib \
+
+ $ ./configure
+ --prefix=/c/hdf5
+ --enable-fortran
+ <"If no more switches, then hit Enter">
+
+7. Make and Make Check
+
+ After configuration is done successfully, run the following series of
+ commands to build, test and install HDF5
+
+ $ make > "output file name"
+ $ make check > "output file name"
+
+ Before run "make install", check output file for "make check", there
+ should be no failures at all.
+
+8. Make Install
+
+ $ make install > "output file name"
+
+
+9. Check installed HDF5 library
+
+ After step 8, go to your installation directory, there should be
+ three subdirectories: "bin" "include" and "lib".
+
+ $ make installcheck > "output file name"
+
+-----------------------------------------------------------------------
+
+Need Further assistance, email help@hdfgroup.org