SIG_SETMASK undeclared error while building parallel version with cygwin

Dear all,

I hope I am referring to the correct hdf community.

I recently attempted to install parallel hdf5-1.10.1 from source in cygwin
and stumbled into a SIG_SETMASK undeclared error during make.

In general I tried to follow the instructions from
https://support.hdfgroup.org/ftp/HDF5/current/src/unpacked/
release_docs/INSTALL_parallel

First I run the c version of the Sample_mpio.c and I suppose it worked:
Proc 2: all tests passed
Proc 3: all tests passed
Proc 1: all tests passed
Proc 0: all tests passed

Then I tried:

CC=mpicc ./configure --enable-parallel --enable-shared

and then make

but at some point it exited with this

"SIG_SETMASK undeclared ... #define HDsigsetjmp(J,N) sigsetjmp(J,N)
... in expansion of macro ..."

error.

Since there are no separate instructions for cygwin, like for the
serial case, I thought it might be an issue of cygwin. Does anyone
know how to fix this?

One last question about the installation is szip. I built from source
into the home folder but I have not changed any path variables. Will
hdf be able to find it or is it not important?

I use Windows 7 and cygwin 2.8.2.

Any help would be appreciated.

With kind regards,

Konstantinos Syranidis

Dear all,

I hope I am referring to the correct hdf community.

I recently attempted to install parallel hdf5-1.10.1 from source in
cygwin and stumbled into a SIG_SETMASK undeclared error during make.

In general I tried to follow the instructions from
https://support.hdfgroup.org/ftp/HDF5/current/src/unpacked/release_docs/INSTALL_parallel
<https://support.hdfgroup.org/ftp/HDF5/current/src/unpacked/release_docs/INSTALL_parallel>

First I run the c version of the Sample_mpio.c and I suppose it worked:
Proc 2: all tests passed
Proc 3: all tests passed
Proc 1: all tests passed
Proc 0: all tests passed

Then I tried:

CC=mpicc ./configure --enable-parallel --enable-shared

and then make

but at some point it exited with this

"SIG_SETMASK undeclared ... #define HDsigsetjmp(J,N) sigsetjmp(J,N) ... in expansion of macro ..."

error.

the problem is not due to the --enable-parallel

Trying to rebuild the serial 1.8.18 I see the same issue,
so it is likely a consequence of changes in the cygwing headers.

Since there are no separate instructions for cygwin, like for the serial case, I thought it might be an issue of cygwin. Does anyone know how to fix this?

I will look on that, but it could be in September

One last question about the installation is szip. I built from source into the home folder but I have not changed any path variables. Will hdf be able to find it or is it not important?

I use Windows 7 and cygwin 2.8.2.

Any help would be appreciated.

With kind regards,

Konstantinos Syranidis

Regards
Marco

···

On 01/08/2017 17:02, kostas syranidis wrote:

Kostas,
as workaround you can remove "-std=c99" from config/gnu-flags

I raised the issue on the cygwin mailing list, as this is a
change from the recent past:

https://cygwin.com/ml/cygwin/2017-08/msg00060.html
https://cygwin.com/ml/cygwin-announce/2017-04/msg00033.html

Regards
Marco

···

On 05/08/2017 23:16, Marco Atzeri wrote:

On 01/08/2017 17:02, kostas syranidis wrote:

Dear all,

Then I tried:

CC=mpicc ./configure --enable-parallel --enable-shared

and then make

but at some point it exited with this

"SIG_SETMASK undeclared ... #define HDsigsetjmp(J,N) sigsetjmp(J,N)
... in expansion of macro ..."

error.

the problem is not due to the --enable-parallel

Trying to rebuild the serial 1.8.18 I see the same issue,
so it is likely a consequence of changes in the cygwing headers.

The change in cygwin headers is showing an inconsistency in the HDF5

sigsetjmp is not in C99 so putting in config/gnu-flags

H5_CFLAGS="$H5_CFLAGS $arch -std=c99 ...

should not enable the use of sigsetjmp at all.

https://cygwin.com/ml/cygwin/2017-08/msg00066.html

Regards
Marco

···

On 06/08/2017 11:12, Marco Atzeri wrote:

On 05/08/2017 23:16, Marco Atzeri wrote:

On 01/08/2017 17:02, kostas syranidis wrote:

Dear all,

Then I tried:

CC=mpicc ./configure --enable-parallel --enable-shared

and then make

but at some point it exited with this

"SIG_SETMASK undeclared ... #define HDsigsetjmp(J,N) sigsetjmp(J,N)
... in expansion of macro ..."

error.

the problem is not due to the --enable-parallel

Trying to rebuild the serial 1.8.18 I see the same issue,
so it is likely a consequence of changes in the cygwing headers.

Kostas,
as workaround you can remove "-std=c99" from config/gnu-flags

I raised the issue on the cygwin mailing list, as this is a
change from the recent past:

https://cygwin.com/ml/cygwin/2017-08/msg00060.html
https://cygwin.com/ml/cygwin-announce/2017-04/msg00033.html

Regards
Marco

Dear Marco,

Thank you for the helpful comments. I also contacted the hdf support and
apparently parallel hdf is not supported or tested for cygwin, therefore I
expect that there might be more problems on the way.

Anyhow, I used make CFLAGS=-D_POSIX_C_SOURCE and this error does not appear
anymore. However, "make check" gives a segmentation fault error for
testhdf5.exe.
I have also opened a thread in stackoverflow
<https://stackoverflow.com/questions/45494332/building-parallel-hdf5-with-cygwin>,
if anyone would like to contribute.

Best,
Kostas

···

2017-08-07 0:01 GMT+02:00 Marco Atzeri <marco.atzeri@gmail.com>:

On 06/08/2017 11:12, Marco Atzeri wrote:

On 05/08/2017 23:16, Marco Atzeri wrote:

On 01/08/2017 17:02, kostas syranidis wrote:

Dear all,

Then I tried:

CC=mpicc ./configure --enable-parallel --enable-shared

and then make

but at some point it exited with this

"SIG_SETMASK undeclared ... #define HDsigsetjmp(J,N) sigsetjmp(J,N)
... in expansion of macro ..."

error.

the problem is not due to the --enable-parallel

Trying to rebuild the serial 1.8.18 I see the same issue,
so it is likely a consequence of changes in the cygwing headers.

Kostas,
as workaround you can remove "-std=c99" from config/gnu-flags

I raised the issue on the cygwin mailing list, as this is a
change from the recent past:

https://cygwin.com/ml/cygwin/2017-08/msg00060.html
https://cygwin.com/ml/cygwin-announce/2017-04/msg00033.html

Regards
Marco

The change in cygwin headers is showing an inconsistency in the HDF5

sigsetjmp is not in C99 so putting in config/gnu-flags

H5_CFLAGS="$H5_CFLAGS $arch -std=c99 ...

should not enable the use of sigsetjmp at all.

https://cygwin.com/ml/cygwin/2017-08/msg00066.html

Regards
Marco

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