-----Original Message----- From: [email protected]
Sent: Friday, March 18, 2016 6:43 AM
To: [email protected]
Subject: [Hdf-forum] Release of HDF5-1.10.0-pre1

Hi,

On Windows 7, building in msys shell with mingw-w64 port of gcc-4.9.2 I run:

./configure --disable-shared --enable-static CFLAGS=-DH5_HAVE_WIN32_API CPPFLAGS=-IC:/_64/msys_492/1.0/local/include LDFLAGS=-LC:/_64/msys_492/1.0/local/lib --prefix=C:/_64/msys_492/1.0/local

which was a configure command that worked fine for me with the last build (1.8.16-pre2) of hdf5 that I tried.

When running 'make', the first stumbling block is this section of code in src/H5Oprivate.h:

#ifdef OUT
/* Typedef for "internal library" iteration operations */
typedef herr_t (*H5O_lib_operator_t)(H5O_t *oh, H5O_mesg_t *mesg/*in,out*/,
unsigned sequence, hbool_t *oh_modified/*out*/, void *operator_data/*in,out*/);
#endif
/* Typedef for "internal library" iteration operations */
typedef herr_t (*H5O_lib_operator_t)(H5O_t *oh, H5O_mesg_t *mesg/*in,out*/,
unsigned sequence, unsigned *oh_modified/*out*/, void *operator_data/*in,out*/);

If OUT is defined (as is the case for me) then herr_t gets typedef'ed twice - which is a fatal error.

Second stumbling block is:

 CC       external.o
 CCLD     external.exe
external.o:external.c:(.text+0x3e4f): undefined reference to `setenv'
external.o:external.c:(.text+0x4d08): undefined reference to `setenv'
external.o:external.c:(.text+0x65ce): undefined reference to `setenv'
external.o:external.c:(.text+0x70a5): undefined reference to `setenv'
external.o:external.c:(.text+0x8828): undefined reference to `setenv'
external.o:external.c:(.text+0x9585): more undefined references to `setenv' follow
collect2.exe: error: ld returned 1 exit status

We need to link to libiberty.a to resolve 'setenv'.
To achieve this I simply changed each occurrence of "-lz $LIBS" in the configure script to "-lz $LIBS -liberty".

Next stumbling block:

 CC       twriteorder.o
 CCLD     twriteorder.exe
twriteorder.o:twriteorder.c:(.text+0x8e8): undefined reference to `fork'
twriteorder.o:twriteorder.c:(.text+0xa0a): undefined reference to `waitpid'
twriteorder.o:twriteorder.c:(.text+0xa37): undefined reference to `WIFEXITED' twriteorder.o:twriteorder.c:(.text+0xa47): undefined reference to `WEXITSTATUS'
collect2.exe: error: ld returned 1 exit status

I couldn't find any library that resolves 'waitpid'. Do I therefore need to disable SWMR ?

How do I disable SWMR ? (I tried adding --disable-SWMR to configure, but it gets reported as an unknown option.)

Cheers,
Rob

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to