Debian Bug report logs -
#56759
libpng2-dev: parse errors in pngconf.h
Reported by: gautier <gautier@email.enst.fr>
Date: Tue, 1 Feb 2000 00:03:01 UTC
Severity: fixed
Done: Philippe Troin <phil@fifi.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, Philippe Troin <phil@fifi.org> :
Bug#56759 ; Package libpng2-dev .
Full text and rfc822 format available.
Acknowledgement sent to gautier <gautier@email.enst.fr> :
New Bug report received and forwarded. Copy sent to Philippe Troin <phil@fifi.org> .
Full text and rfc822 format available.
Message #5 received at submit@bugs.debian.org (full text, mbox):
Package: libpng2-dev Version: N/A; reported 2000-02-01 Severity: important
I was trying to build the last ImageMagick (5.1.1) (It is not yet a debian package, you can get it at http://www.wizards.dupont.com/cristy/ImageMagick.html) and i had many errors about pngconf.h and png.h. Here are the firsts:
/bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I../ -I.. -D_REENTRANT -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/X11R6/include -O -c png.c gcc -DHAVE_CONFIG_H -I../ -I.. -D_REENTRANT -D_FILE_OFFSET_BITS=64 -I/usr/local/include -I/usr/X11R6/include -O -c png.c -o png.o In file included from /usr/local/include/png.h:208, from png.c:58: /usr/local/include/pngconf.h:123: parse error before `.' /usr/local/include/pngconf.h:631: parse error before `*' /usr/local/include/pngconf.h:631: warning: data definition has no type or storage class /usr/local/include/pngconf.h:641: parse error before `*' /usr/local/include/pngconf.h:641: warning: data definition has no type or storage class /usr/local/include/png.h:351: parse error before `png_uint_32'
etc...
For the first error, i understand why: there are this strange lines in pngconf.h:
#ifdef _SETJMP_H __png.h__ already includes setjmp.h __dont__ include it again #endif
Well this is weird.... It's obviously incorrect but I don't even guess what the correct code could be
For the others errrors, i don't know
I tried with the debian packages installed, and then i tried with the upstream tarball: all the same! So this should be fowarded upstream....
But now: how could anyone compile anything using libpng!?? (but actually, it seems there was no packages depending on this lib in my system)
A+
-- System Information Debian Release: potato Architecture: i386 Kernel: Linux droopy 2.2.14 #1 mer jan 19 02:24:27 CET 2000 i586
-- Fabrice Gautier <gautier@email.enst.fr> ---- There are two sides to every divorce: yours and the shithead's.
Information forwarded to debian-bugs-dist@lists.debian.org, Philippe Troin <phil@fifi.org> :
Bug#56759 ; Package libpng2-dev .
Full text and rfc822 format available.
Acknowledgement sent to Josip Rodin <jrodin@public.srce.hr> :
Extra info received and forwarded to list. Copy sent to Philippe Troin <phil@fifi.org> .
Full text and rfc822 format available.
Message #10 received at 56759@bugs.debian.org (full text, mbox):
severity 56759 fixed thanks
Hi,
> Package: libpng2-dev > Severity: important > > I was trying to build the last ImageMagick (5.1.1) (It is not yet a debian > package
This can't be of important severity, then.
> In file included from /usr/local/include/png.h:208, > from png.c:58: > /usr/local/include/pngconf.h:123: parse error before `.' > /usr/local/include/pngconf.h:631: parse error before `*' > /usr/local/include/pngconf.h:631: warning: data definition has no type or storage class > /usr/local/include/pngconf.h:641: parse error before `*' > /usr/local/include/pngconf.h:641: warning: data definition has no type or storage class > /usr/local/include/png.h:351: parse error before `png_uint_32'
First of all, this references /usr/local/include/. Debian packages don't put any files in /usr/local, ever. But...
> #ifdef _SETJMP_H > __png.h__ already includes setjmp.h > __dont__ include it again > #endif
... this exists in our /usr/include/pngconf.h file, too.
The intention is actually quite clear (to me): you may not have any files that #include setjmp.h file. Probably, that "png.c" file or any of the local files it #include's does that, and it's apparently illegal.
Maybe it should have been marked with #error, that wouldn't print parse errors but the exact message, but the point has been made, anyway.
Maintainer, please close this bug. Or correct me if I'm wrong <blush> :)
-- enJoy -*/*- don't even try to pronounce my first name
Severity set to `fixed'.
Request was from Josip Rodin <jrodin@public.srce.hr>
to control@bugs.debian.org .
Full text and rfc822 format available.
Information forwarded to debian-bugs-dist@lists.debian.org, Philippe Troin <phil@fifi.org> :
Bug#56759 ; Package libpng2-dev .
Full text and rfc822 format available.
Acknowledgement sent to Fabrice Gautier <gautier@email.enst.fr> :
Extra info received and forwarded to list. Copy sent to Philippe Troin <phil@fifi.org> .
Full text and rfc822 format available.
Message #17 received at 56759@bugs.debian.org (full text, mbox):
On Tue, Feb 01, 2000 at 02:10:53PM +0100, Josip Rodin wrote: > severity 56759 fixed > thanks
I don't think so! (but as i'm not a debian developer and you are .....)
Let's me explain what i think about this: > Hi, > > > Package: libpng2-dev > > Severity: important > > > > I was trying to build the last ImageMagick (5.1.1) (It is not yet a debian > > package > > This can't be of important severity, then.
ImageMagick 5.1.1 is not in Debian but libpng2-dev is, and i think this is a libpng2-dev bug not an ImageMagic bug. And if ImageMagick is still 4.8 in Debian it may be because the Maintener didn't succeded in compiling 5.1.1 (du to this bug) ... maybe... anyway it seems that libmagick is only used by ImageMagick (at least for me)
> > > In file included from /usr/local/include/png.h:208, > > from png.c:58: > > /usr/local/include/pngconf.h:123: parse error before `.' > > /usr/local/include/pngconf.h:631: parse error before `*' > > /usr/local/include/pngconf.h:631: warning: data definition has no type or storage class > > /usr/local/include/pngconf.h:641: parse error before `*' > > /usr/local/include/pngconf.h:641: warning: data definition has no type or storage class > > /usr/local/include/png.h:351: parse error before `png_uint_32' > > First of all, this references /usr/local/include/. Debian packages don't put > any files in /usr/local, ever. But...
... but i said that i've tried both the debian packages and upstream tarball that i compiled myself. Both have the bug (so this is may be an upstream bug)
> > > #ifdef _SETJMP_H > > __png.h__ already includes setjmp.h > > __dont__ include it again > > #endif > > ... this exists in our /usr/include/pngconf.h file, too. > > The intention is actually quite clear (to me): you may not have any files > that #include setjmp.h file. Probably, that "png.c" file or any of the local > files it #include's does that, and it's apparently illegal.
This doesn't make any sense to me! Just a few line after this #ifdef there is an #include <setjmp.h>. And AFAIK this is not a special setjmp.h for libpng. ... This doesn't make sense at all ....
> Maybe it should have been marked with #error, that wouldn't print parse > errors but the exact message, but the point has been made, anyway.
Yes, at the very least, this should use #error, and this is what it does in libpng0g-dev. But this is not my point ... > Maintainer, please close this bug. Or correct me if I'm wrong <blush> :)
I'm not the Maintener but i still think you're wrong :-)
First there is a fix : just comment out the #ifdef .... #endif clause in pngconf.h and it seems to works. At least i compiled ImageMagick 5.1.1 without any errors (and for the moment it runs fine). I don't see any side effect that this fix could introduce.
And, Two, in the libpng doc (/usr/doc/libpng2-dev/libong.txt.gz) says that pngconf.h is the place to do specific compiler configuration. So let's say this is not a bug but a "configuration" that i would like to see in the debian package!
A+
-- Fabrice Gautier <gautier@email.enst.fr> ---- Wait! You have not been prepared! -- Mr. Atoz, "Tomorrow is Yesterday", stardate 3113.2
Reply sent to Philippe Troin <phil@fifi.org> :
You have taken responsibility.
Full text and rfc822 format available.
Notification sent to gautier <gautier@email.enst.fr> :
Bug acknowledged by developer.
Full text and rfc822 format available.
Message #22 received at 56759-close@bugs.debian.org (full text, mbox):
We believe that the bug you reported is fixed in the latest version of libpng, which has been installed in the Debian FTP archive: libpng_1.0.5.orig.tar.gz to dists/potato/main/source/libs/libpng_1.0.5.orig.tar.gz replacing libpng_1.0.5.orig.tar.gz libpng_1.0.5.orig.tar.gz to dists/woody/main/source/libs/libpng_1.0.5.orig.tar.gz replacing libpng_1.0.5.orig.tar.gz libpng_1.0.5-1.diff.gz to dists/potato/main/source/libs/libpng_1.0.5-1.diff.gz replacing libpng_1.0.5-0.1.diff.gz libpng_1.0.5-1.diff.gz to dists/woody/main/source/libs/libpng_1.0.5-1.diff.gz replacing libpng_1.0.5-0.1.diff.gz libpng2-dev_1.0.5-1_i386.deb to dists/potato/main/binary-i386/graphics/libpng2-dev_1.0.5-1.deb replacing libpng2-dev_1.0.5-0.1.deb libpng2-dev_1.0.5-1_i386.deb to dists/woody/main/binary-i386/graphics/libpng2-dev_1.0.5-1.deb replacing libpng2-dev_1.0.5-0.1.deb libpng_1.0.5-1.dsc to dists/potato/main/source/libs/libpng_1.0.5-1.dsc replacing libpng_1.0.5-0.1.dsc libpng_1.0.5-1.dsc to dists/woody/main/source/libs/libpng_1.0.5-1.dsc replacing libpng_1.0.5-0.1.dsc libpng2_1.0.5-1_i386.deb to dists/potato/main/binary-i386/libs/libpng2_1.0.5-1.deb replacing libpng2_1.0.5-0.1.deb libpng2_1.0.5-1_i386.deb to dists/woody/main/binary-i386/libs/libpng2_1.0.5-1.deb replacing libpng2_1.0.5-0.1.deb
Note that this package is not part of the released stable Debian distribution. It may have dependencies on other unreleased software, or other instabilities. Please take care if you wish to install it. The update will eventually make its way into the next released Debian distribution.
A summary of the changes between this version and the previous one is attached.
Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 56759@bugs.debian.org, and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software pp. Philippe Troin <phil@fifi.org> (supplier of updated libpng package)
(This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Format: 1.6 Date: Mon, 28 Feb 2000 13:53:22 -0800 Source: libpng Binary: libpng2 libpng2-dev Architecture: source i386 Version: 1.0.5-1 Distribution: frozen unstable Urgency: low Maintainer: Philippe Troin <phil@fifi.org> Description: libpng2 - PNG library - runtime libpng2-dev - PNG library - development Closes: 48244 48246 56759 Changes: libpng (1.0.5-1) frozen unstable; urgency=low . * Maintainer upload (closes: #48244, #48246). * Added some extra explanations for the setjmp.h mess (closes: #56759), see pngconf.h for details. Files: 51e08d7947a1aa51d5b582b83cdd6fd7 571 libs optional libpng_1.0.5-1.dsc e8edc8c1ad4cb613f20563acd9112702 299401 libs optional libpng_1.0.5.orig.tar.gz 6a6715493ef31e805d5ff0fc09cddac9 7108 libs optional libpng_1.0.5-1.diff.gz 964efbb4e25be247c51c56d783309a32 93522 libs optional libpng2_1.0.5-1_i386.deb 06a928eb2002a7da50746f73331ccedf 174258 graphics optional libpng2-dev_1.0.5-1_i386.deb
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.0 (GNU/Linux) Comment: For info see http://www.gnupg.org
iEYEARECAAYFAji68owACgkQMrxzW26vf4fNqgCeKYBbLd/G8kE87QCKadO74NRf BU8AnA85jBsN9tuYl+O4ovo7sWgwZ979 =Davy -----END PGP SIGNATURE-----
Information forwarded to debian-bugs-dist@lists.debian.org :
Bug#56759 ; Package libpng2-dev .
Full text and rfc822 format available.
Acknowledgement sent to Philippe Troin <phil@fifi.org> :
Extra info received and forwarded to list.
Full text and rfc822 format available.
Message #27 received at 56759@bugs.debian.org (full text, mbox):
Fabrice Gautier <gautier@email.enst.fr> writes:
> On Tue, Feb 01, 2000 at 02:10:53PM +0100, Josip Rodin wrote: > ImageMagick 5.1.1 is not in Debian but libpng2-dev is, and i think > this is a libpng2-dev bug not an ImageMagic bug. And if ImageMagick is > still 4.8 in Debian it may be because the Maintener didn't succeded in > compiling 5.1.1 (du to this bug) ... maybe... anyway it seems that libmagick is only used by ImageMagick (at least for me)
FYI, the setjmp.h magic in pngconf.h is here because there are two setjmp/longjmp on Linux depending or not you use BSD compatibility (without BSD compatibility, setjmp/longjmp does not preserve the signal mask, with BSD compatibility, they preserve and restore the signal mask (you can get this behavior with sigsetjmp/siglongjmp if you do not use BSD compat.)).
The struct jmpbuf they use are different and calling the BSD-longjmp following a non-BSD setjmp will give strange results (like screwing up the signal mask) and/or crash.
Since PNG uses setjmp/longjmp, they force the inclusion of longjmp.h and force non-BSD mode.
Hence the header magic.
I replaced the syntactic error text with an #error directive and added a comment explaining basically what I've tried to explain above.
For practical use, if you get the #error message, then moving <png.h> before <longjmp.h> should make things work.
Phil.
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Fri Dec 4 01:50:19 2009;
Machine Name:
busoni.debian.org
Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.
|