building libpng-1.6.29 fails with error in signal.h

Marco Atzeri marco.atzeri@gmail.com
Tue Jul 4 20:47:00 GMT 2017


On 04/07/2017 20:59, Denis Excoffier wrote:
> Hello,
>
> 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
>


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

tested on 1.6.30

   ./configure CFLAGS="-D_GNU_SOURCE"
   make

works.

Reading
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html

I have the impression that the current cygwin header behaviour
is correct as siginfo_t is an extension POSIX.1-2008.

In theory "_GNU_SOURCE" should be defined by default, but I see

$ grep SOURCE *.h
pngpriv.h:#define _POSIX_SOURCE 1 /* Just the POSIX 1003.1 and C89 APIs */

$ grep SOURCE *.c
pngtest.c:#define _POSIX_SOURCE 1

that could have reduced the scope.

Regards
Marco






--
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



More information about the Cygwin mailing list