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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17429 in the body.
You can then email your comments to 17429 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to svenjoac <at> gmx.de, bug-gnu-emacs <at> gnu.org:
bug#17429; Package emacs. (Wed, 07 May 2014 06:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac <at> gmx.de>:
New bug report received and forwarded. Copy sent to svenjoac <at> gmx.de, bug-gnu-emacs <at> gnu.org. (Wed, 07 May 2014 06:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Sven Joachim <svenjoac <at> gmx.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.4.50; __pngconf.h__ in libpng already includes setjmp.h
Date: Wed, 07 May 2014 08:34:51 +0200
Trunk does not build for me, I get an error when compiling image.c:

,----
| 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 is with libpng 1.2.50.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17429; Package emacs. (Wed, 07 May 2014 17:43:02 GMT) Full text and rfc822 format available.

Message #8 received at 17429 <at> debbugs.gnu.org (full text, mbox):

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: Re: 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 */
> `----





Reply sent to Paul Eggert <eggert <at> cs.ucla.edu>:
You have taken responsibility. (Wed, 07 May 2014 18:24:01 GMT) Full text and rfc822 format available.

Notification sent to Sven Joachim <svenjoac <at> gmx.de>:
bug acknowledged by developer. (Wed, 07 May 2014 18:24:02 GMT) Full text and rfc822 format available.

Message #13 received at 17429-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 17429-done <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>
Subject: Re: bug#17429: 24.4.50; __pngconf.h__ in libpng already includes
 setjmp.h
Date: Wed, 07 May 2014 11:22:47 -0700
> Sven Joachim wrote:
>> |             __pngconf.h__ in libpng already includes setjmp.h;
>> |                      ^

Thanks, that doesn't happen for me on Fedora 20 (libpng16), so I didn't 
run into the problem.  I installed an obvious patch in trunk bzr 117070; 
please give it a try.  I'll take the liberty of marking this bug as done 
to save us all work later; if I'm wrong I'll unmark it.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17429; Package emacs. (Wed, 07 May 2014 18:42:03 GMT) Full text and rfc822 format available.

Message #16 received at 17429 <at> debbugs.gnu.org (full text, mbox):

From: Sven Joachim <svenjoac <at> gmx.de>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 17429 <at> debbugs.gnu.org, Glenn Morris <rgm <at> gnu.org>
Subject: Re: bug#17429: 24.4.50;
 __pngconf.h__ in libpng already includes setjmp.h
Date: Wed, 07 May 2014 20:41:13 +0200
On 2014-05-07 20:22 +0200, Paul Eggert wrote:

>> Sven Joachim wrote:
>>> |             __pngconf.h__ in libpng already includes setjmp.h;
>>> |                      ^
>
> Thanks, that doesn't happen for me on Fedora 20 (libpng16), so I
> didn't run into the problem.  I installed an obvious patch in trunk
> bzr 117070; please give it a try.  I'll take the liberty of marking
> this bug as done to save us all work later; if I'm wrong I'll unmark
> it.

This change fixes the problem, thanks.

Cheers,
       Sven




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 05 Jun 2014 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 320 days ago.

Previous Next


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