#3750 closed defect (fixed)
libpng-1.5.13 make check fails with apng patch
Reported by: | Dan Dennison | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | libpng |
Cc: |
Description ¶
When adding the apng patch per the book's instructions, running make check will result in a failure because png.h is adding new symbols and not updating scripts/symbols.def. One can not run the tests, ignore the results or comment out the test. This solution simply adds the missing symbols to the def file.
gawk -f ./scripts/checksym.awk ./scripts/symbols.def\ scripts/symbols.out >&2 png.h: exported symbol 235 'png_get_acTL' not present in ./scripts/symbols.def png.h: exported symbol 236 'png_set_acTL' not present in ./scripts/symbols.def png.h: exported symbol 237 'png_get_num_frames' not present in ./scripts/symbols.def png.h: exported symbol 238 'png_get_num_plays' not present in ./scripts/symbols.def png.h: exported symbol 239 'png_get_next_frame_fcTL' not present in ./scripts/symbols.def png.h: exported symbol 240 'png_set_next_frame_fcTL' not present in ./scripts/symbols.def png.h: exported symbol 241 'png_get_next_frame_width' not present in ./scripts/symbols.def png.h: exported symbol 242 'png_get_next_frame_height' not present in ./scripts/symbols.def png.h: exported symbol 243 'png_get_next_frame_x_offset' not present in ./scripts/symbols.def png.h: exported symbol 244 'png_get_next_frame_y_offset' not present in ./scripts/symbols.def png.h: exported symbol 245 'png_get_next_frame_delay_num' not present in ./scripts/symbols.def png.h: exported symbol 246 'png_get_next_frame_delay_den' not present in ./scripts/symbols.def png.h: exported symbol 247 'png_get_next_frame_dispose_op' not present in ./scripts/symbols.def png.h: exported symbol 248 'png_get_next_frame_blend_op' not present in ./scripts/symbols.def png.h: exported symbol 249 'png_get_first_frame_is_hidden' not present in ./scripts/symbols.def png.h: exported symbol 250 'png_set_first_frame_is_hidden' not present in ./scripts/symbols.def png.h: exported symbol 251 'png_read_frame_head' not present in ./scripts/symbols.def png.h: exported symbol 252 'png_set_progressive_frame_fn' not present in ./scripts/symbols.def png.h: exported symbol 253 'png_write_frame_head' not present in ./scripts/symbols.def png.h: exported symbol 254 'png_write_frame_tail' not present in ./scripts/symbols.def *** A new list is in symbols.new *** make: *** [scripts/symbols.chk] Error 1
The following are some awk scripts to add the missing symbols from png.h to scripts/symbols.def. It should be run right after the patch.
From the Book:
gzip -cd ../libpng-1.5.13-apng.patch.gz | patch -p1
Add This:
START=$(awk '/@/' scripts/symbols.def | sort -k2.3n | tail -1 | cut -d "@" -f2) && awk -v v="$START" '/^PNG(_.+)?_EXPORTA?\(/ {gsub(/PNG(_.+)?_EXPORTA?\(/, ""); gsub(/,/, ""); \ if($1 > v) print $3 " @"$1}' png.h | sort -k2.3n >> scripts/symbols.def
The first awk is looking for the last symbol number and saving it. The second awk is appending all the symbol numbers that are greater than that value. This will ensure the test passes.
Change History (3)
comment:1 by , 12 years ago
Type: | enhancement → defect |
---|
comment:2 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in r10972