[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17429: 24.4.50; __pngconf.h__ in libpng already includes setjmp.h
From: |
Glenn Morris |
Subject: |
bug#17429: 24.4.50; __pngconf.h__ in libpng already includes setjmp.h |
Date: |
Wed, 07 May 2014 13:42:46 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
Sven Joachim wrote:
> Trunk does not build for me, I get an error when compiling image.c:
Prior to trunk r117068, image.c included png.h before setjmp.h.
> ,----
> | In file included from /usr/include/libpng12/png.h:540:0,
> | from image.c:5515:
> | /usr/include/libpng12/pngconf.h:371:21: error: expected '=', ',', ';',
> 'asm' or '__attribute__' before '.' token
> | __pngconf.h__ in libpng already includes setjmp.h;
> | ^
> | /usr/include/libpng12/pngconf.h:372:12: error: unknown type name '__dont__'
> | __dont__ include it again.;
> | ^
> | /usr/include/libpng12/pngconf.h:372:29: error: expected '=', ',', ';',
> 'asm' or '__attribute__' before 'it'
> | __dont__ include it again.;
> | ^
> | /usr/include/libpng12/pngconf.h:372:29: error: unknown type name 'it'
> | Makefile:339: recipe for target 'image.o' failed
> `----
>
> In pngconf.h there is the following explanation:
>
> ,----
> | #ifdef PNG_SETJMP_SUPPORTED
> | /* This is an attempt to force a single setjmp behaviour on Linux. If
> | * the X config stuff didn't define _BSD_SOURCE we wouldn't need this.
> | *
> | * You can bypass this test if you know that your application uses exactly
> | * the same setjmp.h that was included when libpng was built. Only define
> | * PNG_SKIP_SETJMP_CHECK while building your application, prior to the
> | * application's '#include "png.h"'. Don't define PNG_SKIP_SETJMP_CHECK
> | * while building a separate libpng library for general use.
> | */
> |
> | # ifndef PNG_SKIP_SETJMP_CHECK
> | # ifdef __linux__
> | # ifdef _BSD_SOURCE
> | # define PNG_SAVE_BSD_SOURCE
> | # undef _BSD_SOURCE
> | # endif
> | # ifdef _SETJMP_H
> | /* If you encounter a compiler error here, see the explanation
> | * near the end of INSTALL.
> | */
> | __pngconf.h__ in libpng already includes setjmp.h;
> | __dont__ include it again.;
> | # endif
> | # endif /* __linux__ */
> | # endif /* PNG_SKIP_SETJMP_CHECK */
> `----