--- hdf5-1.8.0/src/H5detect.c.signal 2008-02-12 19:38:32.000000000 -0700 +++ hdf5-1.8.0/src/H5detect.c 2008-02-27 20:35:03.000000000 -0700 @@ -109,7 +109,7 @@ static void detect_C99_integers64(void); static void detect_alignments(void); static size_t align_g[] = {1, 2, 4, 8, 16}; -static jmp_buf jbuf_g; +static sigjmp_buf jbuf_g; /*------------------------------------------------------------------------- @@ -366,7 +366,7 @@ void (*_handler2)(int) = signal(SIGSEGV, sigsegv_handler); \ \ _buf = (char*)malloc(sizeof(TYPE)+align_g[NELMTS(align_g)-1]); \ - if (setjmp(jbuf_g)) _ano++; \ + if (sigsetjmp(jbuf_g, 1)) _ano++; \ if (_ano