Ticket #28183 (closed defect: fixed)
pngmeta: error: 'png_IDAT' undeclared
| Reported by: | vinc17@… | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | png | Cc: | ryandesign@… |
| Port: | pngmeta |
Description
pngmeta doesn't seem to be compatible with libpng 1.4:
pngmeta.c: In function 'png_skip_till_end': pngmeta.c:117: warning: 'idat_size' is deprecated (declared at /opt/local/include/png.h:1199) pngmeta.c:128: warning: 'chunk_name' is deprecated (declared at /opt/local/include/png.h:1205) pngmeta.c:129: warning: 'chunk_name' is deprecated (declared at /opt/local/include/png.h:1205) pngmeta.c:129: error: 'png_IDAT' undeclared (first use in this function) pngmeta.c:129: error: (Each undeclared identifier is reported only once pngmeta.c:129: error: for each function it appears in.) [... lots of warnings about deprecated identifiers ...]
Please revert to libpng 1.2 or add a new libpng12 port. Alternatively remove pngmeta (it seems that exiftool can be used instead).
Change History
comment:1 follow-up: ↓ 2 Changed 2 years ago by ryandesign@…
- Cc ryandesign@… added
- Summary changed from libpng upgrade to 1.4 breaks pngmeta to pngmeta: error: 'png_IDAT' undeclared
- Priority changed from High to Normal
- Owner changed from ryandesign@… to macports-tickets@…
- Keywords png added
- Port changed from libpng pngmeta to pngmeta
comment:2 in reply to: ↑ 1 ; follow-up: ↓ 4 Changed 2 years ago by vinc17@…
Replying to ryandesign@…:
We're not reverting to libpng 1.2. pngmeta didn't build with libpng 1.2 either; see #26263.
You're wrong. I installed pngmeta when libpng 1.2.8_2 was installed. And I doubt that libpng 1.2.44 was incompatible with 1.2.8 (FYI, in Debian, pngmeta is OK with libpng 1.2.44). #26263 may be a user-specific problem.
comment:4 in reply to: ↑ 2 Changed 2 years ago by ryandesign@…
- Status changed from new to closed
- Resolution set to fixed
Replying to vinc17@…:
Replying to ryandesign@…:
We're not reverting to libpng 1.2. pngmeta didn't build with libpng 1.2 either; see #26263.
You're wrong. I installed pngmeta when libpng 1.2.8_2 was installed.
That's good to know! I can confirm that pngmeta builds with 1.2.8, but not 1.2.44. I've added this info to #26263.
And I doubt that libpng 1.2.44 was incompatible with 1.2.8
At least in this case, it appears to be.
comment:5 Changed 2 years ago by vinc17@…
For the png_IDAT problem, libpng 1.4 no longer has it (see 1.4.0beta79 in /opt/local/share/doc/libpng-1.4.5/CHANGES and the source). And in libpng 1.2.44, png_IDAT was defined only if PNG_USE_GLOBAL_ARRAYS was defined:
#ifdef PNG_USE_GLOBAL_ARRAYS PNG_EXPORT_VAR (png_byte FARDATA) png_IHDR[5]; PNG_EXPORT_VAR (png_byte FARDATA) png_IDAT[5]; [...]
What's strange is that, still according to /opt/local/share/doc/libpng-1.4.5/CHANGES, the other changes related to these arrays seem to have been done only in 1.0.5c and 1.0.5d.


We're not reverting to libpng 1.2. pngmeta didn't build with libpng 1.2 either; see #26263.