bug-gnu-emacs
[Top][All Lists]
Advanced

[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 */
> `----






reply via email to

[Prev in Thread] Current Thread [Next in Thread]