GNU bug report logs - #17429
24.4.50; __pngconf.h__ in libpng already includes setjmp.h

Previous Next

Package: emacs;

Reported by: Sven Joachim <svenjoac <at> gmx.de>

Date: Wed, 7 May 2014 06:36:02 UTC

Severity: important

Found in version 24.4.50

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Glenn Morris <rgm <at> gnu.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 17429 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>
Subject: bug#17429: 24.4.50; __pngconf.h__ in libpng already includes setjmp.h
Date: Wed, 07 May 2014 13:42:46 -0400
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 */
> `----





This bug report was last modified 11 years and 77 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.