GNU bug report logs -
#17429
24.4.50; __pngconf.h__ in libpng already includes setjmp.h
Previous Next
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
Message #8 received at 17429 <at> debbugs.gnu.org (full text, mbox):
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 76 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.