hdf5 1.8.9 on mingw made easy.

Hi forum,

   In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,
just patch two files, configure.in and src/Makefile. Then regenerate
scripts with "aclocal && autoheader && libtoolize && automake && autoconf".
Finally run configure with the option "--with-mingw", compile and enjoy.

The patches are very simple:

**** Patch for configure.in

···

*******************************************
--- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
+++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
@@ -49,6 +49,16 @@
dnl rebuild rules.
AM_MAINTAINER_MODE

+AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under
mingw])
+AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
+if test "$with_mingw" = "yes"; then
+ AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver
should be compiled])
+ AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
+ AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
+dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
+ LIBS="$LIBS -lwsock32"
+fi
+
dnl Run post processing on files created by configure.
dnl src/H5pubconf.h:
dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all

**** Patch for src/Makefile.am
*******************************************
--- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000
-0500
+++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
@@ -103,6 +103,9 @@
         H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
         H5Zscaleoffset.c H5Ztrans.c

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.c
+endif

# Public headers
include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h
H5version.h \
@@ -115,6 +118,10 @@
         H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
         H5Tpublic.h H5Zpublic.h

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.h
+endif
+
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings

If we added these features to the CMake scripts would that help also? I am more of a "CMake Guy" than an autotools guy but I would think adding these flags to the CMake files for MinGW would allow one to configure HDF5 with CMake on MinGW (or MSYS).

Thoughts? When is the next release of HDF5 scheduled for? Not sure I am going to have time to patch before mid August.

···

___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:

Hi forum,

   In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw, just patch two files, configure.in and src/Makefile. Then regenerate scripts with "aclocal && autoheader && libtoolize && automake && autoconf".
Finally run configure with the option "--with-mingw", compile and enjoy.

The patches are very simple:

**** Patch for configure.in
*******************************************
--- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
+++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
@@ -49,6 +49,16 @@
dnl rebuild rules.
AM_MAINTAINER_MODE

+AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under mingw])
+AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
+if test "$with_mingw" = "yes"; then
+ AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver should be compiled])
+ AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
+ AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
+dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
+ LIBS="$LIBS -lwsock32"
+fi
+
dnl Run post processing on files created by configure.
dnl src/H5pubconf.h:
dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all

**** Patch for src/Makefile.am
*******************************************
--- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000 -0500
+++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
@@ -103,6 +103,9 @@
         H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
         H5Zscaleoffset.c H5Ztrans.c

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.c
+endif

# Public headers
include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5version.h \
@@ -115,6 +118,10 @@
         H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
         H5Tpublic.h H5Zpublic.h

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.h
+endif
+
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

The next release of HDF5 is this fall with the code freeze at the end of
September.

The current code base in svn (including the cmake branch) already works on
Windows 7 and mingw using cmake, with the exception of fortran.
I will work with the autotools experts to review these patches with the
changes I already made (added check for the wsock lib).

My version of mingw on Windows 7 will not generate the h5pubconf.h file
properly (verbatim copy of the config.in file),
and that has prevented me from finishing the support for mingw.

Allen

If we added these features to the CMake scripts would that help also? I am

more of a "CMake Guy" than an autotools guy but I would think adding these
flags to the CMake files for MinGW would allow one to configure HDF5 with CMake
on MinGW (or MSYS).

Thoughts? When is the next release of HDF5 scheduled for? Not sure I am

going to have time to patch before mid August.

___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

> Hi forum,
>
> In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,

just patch two files, configure.in and src/Makefile. Then regenerate scripts with
"aclocal && autoheader && libtoolize && automake && autoconf".

> Finally run configure with the option "--with-mingw", compile and enjoy.
>
> The patches are very simple:
>
>
> **** Patch for configure.in
> *******************************************
> --- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
> +++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
> @@ -49,6 +49,16 @@
> dnl rebuild rules.
> AM_MAINTAINER_MODE
>
> +AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under

mingw])

> +AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
> +if test "$with_mingw" = "yes"; then
> + AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver

should be compiled])

> + AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
> + AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
> +dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
> + LIBS="$LIBS -lwsock32"
> +fi
> +
> dnl Run post processing on files created by configure.
> dnl src/H5pubconf.h:
> dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all
>
>
> **** Patch for src/Makefile.am
> *******************************************
> --- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000

-0500

> +++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
> @@ -103,6 +103,9 @@
> H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
> H5Zscaleoffset.c H5Ztrans.c
>
> +if WITH_MINGW
> + libhdf5_la_SOURCES+=H5FDwindows.c
> +endif
>
> # Public headers
> include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h

H5version.h \

···

On Wednesday, July 18, 2012 10:51:52 PM Michael Jackson wrote:

On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:
> @@ -115,6 +118,10 @@
> H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
> H5Tpublic.h H5Zpublic.h
>
> +if WITH_MINGW
> + libhdf5_la_SOURCES+=H5FDwindows.h
> +endif
> +
> # install libhdf5.settings in lib directory
> settingsdir=$(libdir)
> settings_DATA=libhdf5.settings
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> Hdf-forum@hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

I should specify that the problem with generating th e h5pubconf.h file is with the autotools configure process. CMake works just fine.

Allen

···

On Thursday, July 19, 2012 08:21:07 AM Allen D Byrne wrote:

The next release of HDF5 is this fall with the code freeze at the end of
September.

The current code base in svn (including the cmake branch) already works on
Windows 7 and mingw using cmake, with the exception of fortran.
I will work with the autotools experts to review these patches with the
changes I already made (added check for the wsock lib).

My version of mingw on Windows 7 will not generate the h5pubconf.h file
properly (verbatim copy of the config.in file),
and that has prevented me from finishing the support for mingw.

Allen

On Wednesday, July 18, 2012 10:51:52 PM Michael Jackson wrote:
> If we added these features to the CMake scripts would that help also? I am
more of a "CMake Guy" than an autotools guy but I would think adding these
flags to the CMake files for MinGW would allow one to configure HDF5 with CMake
on MinGW (or MSYS).
>
> Thoughts? When is the next release of HDF5 scheduled for? Not sure I am
going to have time to patch before mid August.
> ___________________________________________________________
> Mike Jackson Principal Software Engineer
> BlueQuartz Software Dayton, Ohio
> mike.jackson@bluequartz.net www.bluequartz.net
>
> On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:
>
> > Hi forum,
> >
> > In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,
just patch two files, configure.in and src/Makefile. Then regenerate scripts with
"aclocal && autoheader && libtoolize && automake && autoconf".
> > Finally run configure with the option "--with-mingw", compile and enjoy.
> >
> > The patches are very simple:
> >
> >
> > **** Patch for configure.in
> > *******************************************
> > --- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
> > +++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
> > @@ -49,6 +49,16 @@
> > dnl rebuild rules.
> > AM_MAINTAINER_MODE
> >
> > +AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under
mingw])
> > +AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
> > +if test "$with_mingw" = "yes"; then
> > + AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver
should be compiled])
> > + AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
> > + AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
> > +dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
> > + LIBS="$LIBS -lwsock32"
> > +fi
> > +
> > dnl Run post processing on files created by configure.
> > dnl src/H5pubconf.h:
> > dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all
> >
> >
> > **** Patch for src/Makefile.am
> > *******************************************
> > --- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000
-0500
> > +++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
> > @@ -103,6 +103,9 @@
> > H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
> > H5Zscaleoffset.c H5Ztrans.c
> >
> > +if WITH_MINGW
> > + libhdf5_la_SOURCES+=H5FDwindows.c
> > +endif
> >
> > # Public headers
> > include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h
H5version.h \
> > @@ -115,6 +118,10 @@
> > H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
> > H5Tpublic.h H5Zpublic.h
> >
> > +if WITH_MINGW
> > + libhdf5_la_SOURCES+=H5FDwindows.h
> > +endif
> > +
> > # install libhdf5.settings in lib directory
> > settingsdir=$(libdir)
> > settings_DATA=libhdf5.settings
> > _______________________________________________
> > Hdf-forum is for HDF software users discussion.
> > Hdf-forum@hdfgroup.org
> > http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> Hdf-forum@hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

The two patches address three issues with the mingw compilation for
non-CMake guys.

To start with, the check for wsock lib would make the patch line:
LIBS=($libs -lwsock32)
obsolete (AC_CHECK_LIB is the "right" way to do things). I took a shortcut
to get it working right away.

Following that, adding a check to set HAVE_WINDOWS, HAVE_WIN32_API should
be no problem either. There are several alternatives.

The third issue, on whether to add H5FDwindows.c,h to the build process
would taken care of with CMake with modification of the CMakeLists.txt. But
this file is ignored with a simple autotools build. I don't see how to
avoid the use of the automake conditional in the modified Makefile.am. As
usual, there are several options to resolve the conditional in the
configure script.

regards!

···

2012/7/19 Allen D Byrne <byrn@hdfgroup.org>

The next release of HDF5 is this fall with the code freeze at the end of
September.

The current code base in svn (including the cmake branch) already works on
Windows 7 and mingw using cmake, with the exception of fortran.
I will work with the autotools experts to review these patches with the
changes I already made (added check for the wsock lib).

My version of mingw on Windows 7 will not generate the h5pubconf.h file
properly (verbatim copy of the config.in file),
and that has prevented me from finishing the support for mingw.

Allen

On Wednesday, July 18, 2012 10:51:52 PM Michael Jackson wrote:
> If we added these features to the CMake scripts would that help also? I
am
more of a "CMake Guy" than an autotools guy but I would think adding these
flags to the CMake files for MinGW would allow one to configure HDF5 with
CMake
on MinGW (or MSYS).
>
> Thoughts? When is the next release of HDF5 scheduled for? Not sure I am
going to have time to patch before mid August.
> ___________________________________________________________
> Mike Jackson Principal Software Engineer
> BlueQuartz Software Dayton, Ohio
> mike.jackson@bluequartz.net www.bluequartz.net
>
> On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:
>
> > Hi forum,
> >
> > In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,
just patch two files, configure.in and src/Makefile. Then regenerate
scripts with
"aclocal && autoheader && libtoolize && automake && autoconf".
> > Finally run configure with the option "--with-mingw", compile and
enjoy.
> >
> > The patches are very simple:
> >
> >
> > **** Patch for configure.in
> > *******************************************
> > --- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000
-0500
> > +++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000
-0500
> > @@ -49,6 +49,16 @@
> > dnl rebuild rules.
> > AM_MAINTAINER_MODE
> >
> > +AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc
under
mingw])
> > +AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
> > +if test "$with_mingw" = "yes"; then
> > + AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file
driver
should be compiled])
> > + AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
> > + AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
> > +dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
> > + LIBS="$LIBS -lwsock32"
> > +fi
> > +
> > dnl Run post processing on files created by configure.
> > dnl src/H5pubconf.h:
> > dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to
all
> >
> >
> > **** Patch for src/Makefile.am
> > *******************************************
> > --- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09
10:05:58.000000000
-0500
> > +++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000
-0500
> > @@ -103,6 +103,9 @@
> > H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c
\
> > H5Zscaleoffset.c H5Ztrans.c
> >
> > +if WITH_MINGW
> > + libhdf5_la_SOURCES+=H5FDwindows.c
> > +endif
> >
> > # Public headers
> > include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h
H5public.h
H5version.h \
> > @@ -115,6 +118,10 @@
> > H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
> > H5Tpublic.h H5Zpublic.h
> >
> > +if WITH_MINGW
> > + libhdf5_la_SOURCES+=H5FDwindows.h
> > +endif
> > +
> > # install libhdf5.settings in lib directory
> > settingsdir=$(libdir)
> > settings_DATA=libhdf5.settings
> > _______________________________________________
> > Hdf-forum is for HDF software users discussion.
> > Hdf-forum@hdfgroup.org
> > http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
>
>
> _______________________________________________
> Hdf-forum is for HDF software users discussion.
> Hdf-forum@hdfgroup.org
> http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Are all of these issues resolved for the next HDF5 release? Our project uses HDF5 and our developers have asked us to support MinGW on Windows. HDF5 building under MinGW was holding us back in the past so I just thought I would check to see if the issues have been solved?

Thanks

···

___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 19, 2012, at 9:28 AM, Allen D Byrne wrote:

I should specify that the problem with generating th e h5pubconf.h file is with the autotools configure process. CMake works just fine.

Allen

On Thursday, July 19, 2012 08:21:07 AM Allen D Byrne wrote:

The next release of HDF5 is this fall with the code freeze at the end of
September.

The current code base in svn (including the cmake branch) already works on
Windows 7 and mingw using cmake, with the exception of fortran.
I will work with the autotools experts to review these patches with the
changes I already made (added check for the wsock lib).

My version of mingw on Windows 7 will not generate the h5pubconf.h file
properly (verbatim copy of the config.in file),
and that has prevented me from finishing the support for mingw.

Allen

On Wednesday, July 18, 2012 10:51:52 PM Michael Jackson wrote:

If we added these features to the CMake scripts would that help also? I am

more of a "CMake Guy" than an autotools guy but I would think adding these
flags to the CMake files for MinGW would allow one to configure HDF5 with CMake
on MinGW (or MSYS).

Thoughts? When is the next release of HDF5 scheduled for? Not sure I am

going to have time to patch before mid August.

___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:

Hi forum,

  In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,

just patch two files, configure.in and src/Makefile. Then regenerate scripts with
"aclocal && autoheader && libtoolize && automake && autoconf".

Finally run configure with the option "--with-mingw", compile and enjoy.

The patches are very simple:

**** Patch for configure.in
*******************************************
--- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
+++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
@@ -49,6 +49,16 @@
dnl rebuild rules.
AM_MAINTAINER_MODE

+AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under

mingw])

+AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
+if test "$with_mingw" = "yes"; then
+ AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver

should be compiled])

+ AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
+ AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
+dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
+ LIBS="$LIBS -lwsock32"
+fi
+
dnl Run post processing on files created by configure.
dnl src/H5pubconf.h:
dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all

**** Patch for src/Makefile.am
*******************************************
--- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000

-0500

+++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
@@ -103,6 +103,9 @@
        H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
        H5Zscaleoffset.c H5Ztrans.c

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.c
+endif

# Public headers
include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h

H5version.h \

@@ -115,6 +118,10 @@
        H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
        H5Tpublic.h H5Zpublic.h

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.h
+endif
+
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Mike,

I am sorry to disappoint you, but we don't have any resources to support MinGW. Said this.... we will be more than happy to work with the members of the HDF5 community who will help us to maintain HDF5 on MinGW and will provide us with the patches, test for the releases, who can answer the questions, etc.

All,

Please contact me if you are interested in HDF5 on MinGW and can help with maintaining HDF5 on the platform.

Thank you!

Elena

···

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elena Pourmal
Director of Technical Services and Operations
The HDF Group
1800 So. Oak St., Suite 203,
Champaign, IL 61820


(217)531-6112 (office)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On Oct 26, 2012, at 2:31 PM, Michael Jackson wrote:

Are all of these issues resolved for the next HDF5 release? Our project uses HDF5 and our developers have asked us to support MinGW on Windows. HDF5 building under MinGW was holding us back in the past so I just thought I would check to see if the issues have been solved?

Thanks
___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 19, 2012, at 9:28 AM, Allen D Byrne wrote:

I should specify that the problem with generating th e h5pubconf.h file is with the autotools configure process. CMake works just fine.

Allen

On Thursday, July 19, 2012 08:21:07 AM Allen D Byrne wrote:

The next release of HDF5 is this fall with the code freeze at the end of
September.

The current code base in svn (including the cmake branch) already works on
Windows 7 and mingw using cmake, with the exception of fortran.
I will work with the autotools experts to review these patches with the
changes I already made (added check for the wsock lib).

My version of mingw on Windows 7 will not generate the h5pubconf.h file
properly (verbatim copy of the config.in file),
and that has prevented me from finishing the support for mingw.

Allen

On Wednesday, July 18, 2012 10:51:52 PM Michael Jackson wrote:

If we added these features to the CMake scripts would that help also? I am

more of a "CMake Guy" than an autotools guy but I would think adding these
flags to the CMake files for MinGW would allow one to configure HDF5 with CMake
on MinGW (or MSYS).

Thoughts? When is the next release of HDF5 scheduled for? Not sure I am

going to have time to patch before mid August.

___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:

Hi forum,

In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,

just patch two files, configure.in and src/Makefile. Then regenerate scripts with
"aclocal && autoheader && libtoolize && automake && autoconf".

Finally run configure with the option "--with-mingw", compile and enjoy.

The patches are very simple:

**** Patch for configure.in
*******************************************
--- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
+++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
@@ -49,6 +49,16 @@
dnl rebuild rules.
AM_MAINTAINER_MODE

+AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under

mingw])

+AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
+if test "$with_mingw" = "yes"; then
+ AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver

should be compiled])

+ AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
+ AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
+dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
+ LIBS="$LIBS -lwsock32"
+fi
+
dnl Run post processing on files created by configure.
dnl src/H5pubconf.h:
dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all

**** Patch for src/Makefile.am
*******************************************
--- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000

-0500

+++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
@@ -103,6 +103,9 @@
       H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
       H5Zscaleoffset.c H5Ztrans.c

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.c
+endif

# Public headers
include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h

H5version.h \

@@ -115,6 +118,10 @@
       H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
       H5Tpublic.h H5Zpublic.h

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.h
+endif
+
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

I did the stupid thing and wrote first before researching. My apologies. What follows is my opinion: Seems like the whole MinGW landscape is a mess when it comes to 64 bit support (64 bit targets). There is not one main download but a few different ones from individuals each with its own set of problems. After searching through numerous forums and reading as much of the history of MinGW64 as possible it would seem that for the immediate future I don't think actually supporting HDF5 on MinGW is in the cards for anyone currently. Sorry for the noise. I'm going to advise my users that they figure out a way to use Visual Studio for their windows builds.

Sorry for the noise.

···

--
Mike Jackson <www.bluequartz.net>

On Oct 26, 2012, at 10:52 PM, Elena Pourmal wrote:

Mike,

I am sorry to disappoint you, but we don't have any resources to support MinGW. Said this.... we will be more than happy to work with the members of the HDF5 community who will help us to maintain HDF5 on MinGW and will provide us with the patches, test for the releases, who can answer the questions, etc.

All,

Please contact me if you are interested in HDF5 on MinGW and can help with maintaining HDF5 on the platform.

Thank you!

Elena
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elena Pourmal
Director of Technical Services and Operations
The HDF Group
1800 So. Oak St., Suite 203,
Champaign, IL 61820
www.hdfgroup.org
(217)531-6112 (office)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On Oct 26, 2012, at 2:31 PM, Michael Jackson wrote:

Are all of these issues resolved for the next HDF5 release? Our project uses HDF5 and our developers have asked us to support MinGW on Windows. HDF5 building under MinGW was holding us back in the past so I just thought I would check to see if the issues have been solved?

Thanks
___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 19, 2012, at 9:28 AM, Allen D Byrne wrote:

I should specify that the problem with generating th e h5pubconf.h file is with the autotools configure process. CMake works just fine.

Allen

On Thursday, July 19, 2012 08:21:07 AM Allen D Byrne wrote:

The next release of HDF5 is this fall with the code freeze at the end of
September.

The current code base in svn (including the cmake branch) already works on
Windows 7 and mingw using cmake, with the exception of fortran.
I will work with the autotools experts to review these patches with the
changes I already made (added check for the wsock lib).

My version of mingw on Windows 7 will not generate the h5pubconf.h file
properly (verbatim copy of the config.in file),
and that has prevented me from finishing the support for mingw.

Allen

On Wednesday, July 18, 2012 10:51:52 PM Michael Jackson wrote:

If we added these features to the CMake scripts would that help also? I am

more of a "CMake Guy" than an autotools guy but I would think adding these
flags to the CMake files for MinGW would allow one to configure HDF5 with CMake
on MinGW (or MSYS).

Thoughts? When is the next release of HDF5 scheduled for? Not sure I am

going to have time to patch before mid August.

___________________________________________________________
Mike Jackson Principal Software Engineer
BlueQuartz Software Dayton, Ohio
mike.jackson@bluequartz.net www.bluequartz.net

On Jul 18, 2012, at 6:05 PM, edscott wilson garcia wrote:

Hi forum,

In order to get hdf5 1.8.9 to compile cleanly with no fuzz on mingw,

just patch two files, configure.in and src/Makefile. Then regenerate scripts with
"aclocal && autoheader && libtoolize && automake && autoconf".

Finally run configure with the option "--with-mingw", compile and enjoy.

The patches are very simple:

**** Patch for configure.in
*******************************************
--- /tmp/hdf5-1.8.9/configure.in.old 2012-05-09 10:07:27.000000000 -0500
+++ /tmp/hdf5-1.8.9/configure.in 2012-07-18 16:51:35.000000000 -0500
@@ -49,6 +49,16 @@
dnl rebuild rules.
AM_MAINTAINER_MODE

+AC_ARG_WITH(mingw, [--with-mingw enable compilation with gnu gcc under

mingw])

+AM_CONDITIONAL([WITH_MINGW], [test "$with_mingw" = "yes"])
+if test "$with_mingw" = "yes"; then
+ AC_DEFINE([HAVE_WINDOWS],[1],[Define if the Windows virtual file driver

should be compiled])

+ AC_DEFINE([HAVE_MINGW],[1],[Define if on mingw])
+ AC_DEFINE([HAVE_WIN32_API],[1],[Define if on the Windows platform])
+dnl We also need to add a -lwsock32 to avert _WSAStartup@8 errors
+ LIBS="$LIBS -lwsock32"
+fi
+
dnl Run post processing on files created by configure.
dnl src/H5pubconf.h:
dnl Generate src/H5pubconf.h from src/H5config.h by prepending H5_ to all

**** Patch for src/Makefile.am
*******************************************
--- /tmp/hdf5-1.8.9/src/Makefile.am.old 2012-05-09 10:05:58.000000000

-0500

+++ /tmp/hdf5-1.8.9/src/Makefile.am 2012-07-18 16:54:27.000000000 -0500
@@ -103,6 +103,9 @@
       H5Zdeflate.c H5Zfletcher32.c H5Znbit.c H5Zshuffle.c H5Zszip.c \
       H5Zscaleoffset.c H5Ztrans.c

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.c
+endif

# Public headers
include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h

H5version.h \

@@ -115,6 +118,10 @@
       H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
       H5Tpublic.h H5Zpublic.h

+if WITH_MINGW
+ libhdf5_la_SOURCES+=H5FDwindows.h
+endif
+
# install libhdf5.settings in lib directory
settingsdir=$(libdir)
settings_DATA=libhdf5.settings
_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org