I'm the maintainer of GNU GSRC, which is an automated source-build system for GNU packages. The project went unmaintained for some time and I'm in the process of updating it now. In updating Ghostscript to 9.04.1, I'm encountering build errors:
-------------- gcc -DHAVE_MKSTEMP -DHAVE_HYPOT -DHAVE_FILE64 -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG -O2 -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement -fno-builtin -fno-common -DHAVE_STDINT_H -DGX_COLOR_IND EX_TYPE="unsigned long int" -DUSE_LIBICONV_GNU -I./obj -I./base -Isrc -Isrc -DSHARE_LIBPNG=1 -o ./obj/gdevpng.o -c ./base/gdevpng.c ./base/gdevpng.c: In function 'png_print_page': ./base/gdevpng.c:283:9: error: dereferencing pointer to incomplete type ./base/gdevpng.c:293:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:294:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:296:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:298:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:300:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:301:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:304:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:305:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:318:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:319:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:325:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:326:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:329:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:331:11: error: dereferencing pointer to incomplete type ./base/gdevpng.c:333:11: error: dereferencing pointer to incomplete type ./base/gdevpng.c:336:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:337:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:340:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:341:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:348:17: error: dereferencing pointer to incomplete type ./base/gdevpng.c:353:10: error: dereferencing pointer to incomplete type ./base/gdevpng.c:356:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:360:10: error: dereferencing pointer to incomplete type ./base/gdevpng.c:361:10: error: dereferencing pointer to incomplete type ./base/gdevpng.c:365:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:366:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:367:14: error: dereferencing pointer to incomplete type ./base/gdevpng.c:378:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:379:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:385:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:386:13: error: dereferencing pointer to incomplete type ./base/gdevpng.c:398:5: error: dereferencing pointer to incomplete type ./base/gdevpng.c: At top level: ./base/gdevpng.c:420:1: warning: no previous prototype for 'png_push_fill_buffer' [-Wmissing-prototypes] make[1]: *** [obj/gdevpng.o] Error 1 -------------- This is with libpng 1.5.12. The last successful gs version built with GSRC was 8.71.1, built against libpng 1.4.3. A log from that build[1] shows some deprecation warnings at those same lines where the errors occur now: -------------- gcc -DHAVE_MKSTEMP -DHAVE_HYPOT -DHAVE_FILE64 -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG -O2 -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement -fno-builtin -fno-common -DHAVE_STDINT_H -DGX_COLOR_INDEX_TYPE="unsigned long int" -DUSE_LIBICONV_GNU -I./obj -I./base -Isrc -Isrc -DSHARE_LIBPNG=1 -o ./obj/gdevpng.o -c ./base/gdevpng.c ./base/gdevpng.c: In function 'png_print_page': ./base/gdevpng.c:283: warning: 'jmpbuf' is deprecated (declared at /home/bjg/gnu/include/png.h:1096) ./base/gdevpng.c:293: warning: 'width' is deprecated (declared at /home/bjg/gnu/include/png.h:639) ./base/gdevpng.c:294: warning: 'height' is deprecated (declared at /home/bjg/gnu/include/png.h:640) ./base/gdevpng.c:296: warning: 'x_pixels_per_unit' is deprecated (declared at /home/bjg/gnu/include/png.h:768) ./base/gdevpng.c:298: warning: 'y_pixels_per_unit' is deprecated (declared at /home/bjg/gnu/include/png.h:769) ./base/gdevpng.c:300: warning: 'phys_unit_type' is deprecated (declared at /home/bjg/gnu/include/png.h:770) ./base/gdevpng.c:301: warning: 'valid' is deprecated (declared at /home/bjg/gnu/include/png.h:641) ./base/gdevpng.c:304: warning: 'bit_depth' is deprecated (declared at /home/bjg/gnu/include/png.h:651) ./base/gdevpng.c:305: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:318: warning: 'bit_depth' is deprecated (declared at /home/bjg/gnu/include/png.h:651) ./base/gdevpng.c:319: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:325: warning: 'bit_depth' is deprecated (declared at /home/bjg/gnu/include/png.h:651) ./base/gdevpng.c:326: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:329: warning: 'bit_depth' is deprecated (declared at /home/bjg/gnu/include/png.h:651) ./base/gdevpng.c:331: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:333: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:336: warning: 'bit_depth' is deprecated (declared at /home/bjg/gnu/include/png.h:651) ./base/gdevpng.c:337: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:340: warning: 'bit_depth' is deprecated (declared at /home/bjg/gnu/include/png.h:651) ./base/gdevpng.c:341: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:348: warning: 'color_type' is deprecated (declared at /home/bjg/gnu/include/png.h:653) ./base/gdevpng.c:353: warning: 'palette' is deprecated (declared at /home/bjg/gnu/include/png.h:645) ./base/gdevpng.c:356: warning: 'palette' is deprecated (declared at /home/bjg/gnu/include/png.h:645) ./base/gdevpng.c:360: warning: 'num_palette' is deprecated (declared at /home/bjg/gnu/include/png.h:647) ./base/gdevpng.c:361: warning: 'valid' is deprecated (declared at /home/bjg/gnu/include/png.h:641) ./base/gdevpng.c:365: warning: 'palette' is deprecated (declared at /home/bjg/gnu/include/png.h:645) ./base/gdevpng.c:366: warning: 'palette' is deprecated (declared at /home/bjg/gnu/include/png.h:645) ./base/gdevpng.c:367: warning: 'palette' is deprecated (declared at /home/bjg/gnu/include/png.h:645) ./base/gdevpng.c:378: warning: 'text' is deprecated (declared at /home/bjg/gnu/include/png.h:705) ./base/gdevpng.c:379: warning: 'num_text' is deprecated (declared at /home/bjg/gnu/include/png.h:703) ./base/gdevpng.c:385: warning: 'num_text' is deprecated (declared at /home/bjg/gnu/include/png.h:703) ./base/gdevpng.c:386: warning: 'text' is deprecated (declared at /home/bjg/gnu/include/png.h:705) ./base/gdevpng.c:398: warning: 'palette' is deprecated (declared at /home/bjg/gnu/include/png.h:645) ./base/gdevpng.c: At top level: ./base/gdevpng.c:420: warning: no previous prototype for 'png_push_fill_buffer' -------------- If you need any further information, please let me know. I didn't see any existing bug report for this problem on this list, and I only saw this[2] Github discussion for fixing the build in Homebrew for apparently the same reason. Pardon if this is already a known problem... Cheers, Brandon Invergo [1] http://chapters.gnu.org/~bjg/gsrc/summary/ghostscript.summary.txt [2] https://github.com/mxcl/homebrew/pull/6516