Rob,
We have not had success getting MINGW to configure the generated files (pubconf.h) and therefore can not test your issue in house. Please share any suggestions on options to get this working. We have been able to get CMake to build and test (fortran-disabled) >the current code base.
I had the latest MINGW / MYSY from nigw.org which used gcc 4.6.1.
Allen
----- Original Message -----
From: "Mike McGreevy" <mamcgree@hdfgroup.org>
To: "HDF Users Discussion List" <hdf-forum@hdfgroup.org>
Sent: Saturday, April 14, 2012 5:15 AM
Subject: [Hdf-forum] HDF5 1.8.9 release candidate is available for testing
> Hello everyone,
>
> A pre-release candidate version of HDF5 1.8.9 is available for testing and
> can be downloaded at the following link:
>
> http://www.hdfgroup.uiuc.edu/ftp/pub/outgoing/hdf5/hdf5-1.8.9-pre1/
>
> If you have some time to test this pre-release, we would greatly
> appreciate it.
I'm building on MS Windows, in the MSYS shell, using the mingw.org port of
gcc-4.5.2.
I think the last time this approach worked for me was hdf5-1.8.6.
My (gzipped) config.log is attached.
When the 'make' process switches to the 'test' directory:
################################
Making all in test
make[1]: Entering directory `/c/comp/hdf5-1.8.9-pre1/test'
CC h5test.lo
h5test.c: In function 'h5_fixname':
h5test.c:422:21: error: too many arguments to function 'mkdir'
c:\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/io.h:302:37: note:
declared here
make[1]: *** [h5test.lo] Error 1
make[1]: Leaving directory `/c/comp/hdf5-1.8.9-pre1/test'
make: *** [all-recursive] Error 1
################################
So, at line 422 of h5test.c, I changed:
if (HDmkdir(fullname, (mode_t)0755) < 0 && errno != EEXIST)
to
if (mkdir(fullname) < 0 && errno != EEXIST)
That allows h5test.c to compile, though I don't know what values mkdir()
might return on Windows.
But then, a bit later, I get:
################################
CC tvlstr.o
CC tvltypes.o
CCLD testhdf5.exe
tfile.o:tfile.c:(.text+0x125ef): undefined reference to `sleep'
tfile.o:tfile.c:(.text+0x12a11): undefined reference to `sleep'
../src/.libs/libhdf5.a(H5FDstdio.o):H5FDstdio.c:(.text+0x153b): undefined
reference to `ftruncate64'
collect2: ld returned 1 exit status
make[1]: *** [testhdf5.exe] Error 1
make[1]: Leaving directory `/c/comp/hdf5-1.8.9-pre1/test'
make: *** [all-recursive] Error 1
################################
So, in tfile.c, I tried including Windows.h, and replaced both occurrences
of HDsleep(2) with Sleep(2000). But that prevents tfile.c from even
compiling:
################################
Making all in test
make[1]: Entering directory `/c/comp/hdf5-1.8.9-pre1/test'
CC tfile.o
tfile.c: In function 'test_obj_count_and_id':
tfile.c:1150:34: error: called object '0' is not a function
tfile.c:1156:34: error: called object '0' is not a function
tfile.c:1164:30: error: called object '0' is not a function
make[1]: *** [tfile.o] Error 1
make[1]: Leaving directory `/c/comp/hdf5-1.8.9-pre1/test'
make: *** [all-recursive] Error 1
################################
At that point, I'm currently stumped.
Plus ... I haven't even looked at what needs to be done wrt the undefined
reference to `ftruncate64' .
I subsequently ran 'make -i' and the undefined reference to ftruncate64
recurred continually - though I still end up with a libhdf5_hl.a and a
libhdf5.a. (I expect that both of those libraries are quite serviceable,
too, as they both built without error.)
Any thoughts or advice ?
Cheers,
Rob