Web lists-archives.com

building libpng-1.6.29 fails with error in signal.h


I tried to compile libpng-1.6.29 and failed at first. I obtain:

/tmp/lcl/uxl/make/bin/make  all-am
make[1]: Entering directory '/cygdrive/D/Users/dexcoff1/dexcoff1/cyglcl/tmp/libpng/libpng-1.6.29'
depbase=`echo png.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.     -g -O2 -MT png.lo -MD -MP -MF $depbase.Tpo -c -o png.lo png.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -g -O2 -MT png.lo -MD -MP -MF .deps/png.Tpo -c png.c  -DDLL_EXPORT -DPIC -o .libs/png.o
In file included from /usr/include/sys/signal.h:22:0,
                 from /usr/include/signal.h:6,
                 from /usr/include/machine/setjmp.h:372,
                 from /usr/include/setjmp.h:10,
                 from pngconf.h:50,
                 from png.h:366,
                 from pngpriv.h:375,
                 from png.c:14:
/usr/include/cygwin/signal.h:328:34: error: unknown type name 'siginfo_t'
     void  (*sa_sigaction) ( int, siginfo_t *, void * );
make[1]: *** [Makefile:1174: png.lo] Error 1
make[1]: Leaving directory '/cygdrive/D/Users/dexcoff1/dexcoff1/cyglcl/tmp/libpng/libpng-1.6.29'
make: *** [Makefile:791: all] Error 2

Further investigation shows that /usr/include/cygwin/signal.h has been
modified recently (June) and that if i move "struct sigaction" out of the
scope, the problem goes away and libpng is works now:

*** /usr/include/cygwin/signal.h.vanilla        Mon Jul  3 14:07:58 2017
--- /usr/include/cygwin/signal.h        Tue Jul  4 15:53:28 2017
*** 318,324 ****
  typedef void (*_sig_func_ptr)(int);
  struct sigaction
--- 318,324 ----
  typedef void (*_sig_func_ptr)(int);
! #if __POSIX_VISIBLE >= 999999
  struct sigaction

I really don't know which (signal.h or libpng) is okay (or none). Will someone investigate this?


Denis Excoffier.

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple