Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#3750 closed defect (fixed)

libpng-1.5.13 make check fails with apng patch

Reported by: Dan Dennison Owned by: blfs-book@…
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 Armin K, 9 years ago

Type: enhancementdefect

comment:2 by Armin K, 9 years ago

Resolution: fixed
Status: newclosed

Fixed in r10972

comment:3 by bdubbs@…, 8 years ago

Milestone: current

Milestone current deleted

Note: See TracTickets for help on using tickets.