Index: frmts/grib/degrib18/g2clib-1.0.4/enc_png.c =================================================================== --- frmts/grib/degrib18/g2clib-1.0.4/enc_png.c (revision 21305) +++ frmts/grib/degrib18/g2clib-1.0.4/enc_png.c (revision 21306) @@ -1,3 +1,4 @@ +/* Change 'voidp' line 92 to 'png_voidp' to fix compile failure. */ #include "grib2.h" #ifndef USE_PNG int enc_png(char *data,g2int width,g2int height,g2int nbits,char *pngbuf){return 0;} @@ -88,7 +89,7 @@ /* Set new custom write functions */ - png_set_write_fn(png_ptr,(voidp)&write_io_ptr,(png_rw_ptr)user_write_data, + png_set_write_fn(png_ptr,(png_voidp)&write_io_ptr,(png_rw_ptr)user_write_data, (png_flush_ptr)user_flush_data); /* png_init_io(png_ptr, fptr); */ /* png_set_compression_level(png_ptr, Z_BEST_COMPRESSION); */ Index: frmts/grib/degrib18/g2clib-1.0.4/dec_png.c =================================================================== --- frmts/grib/degrib18/g2clib-1.0.4/dec_png.c (revision 21305) +++ frmts/grib/degrib18/g2clib-1.0.4/dec_png.c (revision 21306) @@ -1,3 +1,4 @@ +/* Change 'voidp' line 90 to 'png_voidp' to fix compile failure. */ #include "grib2.h" #ifndef USE_PNG int dec_png(unsigned char *pngbuf,g2int *width,g2int *height,char *cout){return 0;} @@ -86,7 +87,7 @@ /* Set new custom read function */ - png_set_read_fn(png_ptr,(voidp)&read_io_ptr,(png_rw_ptr)user_read_data); + png_set_read_fn(png_ptr,(png_voidp)&read_io_ptr,(png_rw_ptr)user_read_data); /* png_init_io(png_ptr, fptr); */ /* Read and decode PNG stream */ Index: frmts/grib/GNUmakefile =================================================================== --- frmts/grib/GNUmakefile (revision 21305) +++ frmts/grib/GNUmakefile (revision 21306) @@ -14,6 +14,12 @@ EXTRAFLAGS := $(EXTRAFLAGS) -DHAVE_JASPER endif +# ADD PNG items if necessary! +ifneq ($(PNG_SETTING),no) +OBJ := $(OBJ) pngpack.o pngunpack.o enc_png.o dec_png.o +EXTRAFLAGS := $(EXTRAFLAGS) -DUSE_PNG +endif + CPPFLAGS := $(GDAL_INCLUDE) $(CPPFLAGS) $(EXTRAFLAGS) default: $(OBJ:.o=.$(OBJ_EXT))