2010/2/3 Vincent Povirk <madewokherd+8cd9@gmail.commadewokherd%2B8cd9@gmail.com
We use png_set_gray_1_2_4_to_8 to expand grayscale PNG's to an RGB format.
It'd be nice to have libpng do this (if there's a non-deprecated way to do it), but it's a trivial operation that we could do without if necessary.
The error is: ccache gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -g -O2 -o pngformat.o pngformat.c pngformat.c:62: error: ‘png_set_gray_1_2_4_to_8’ undeclared here (not in a function) pngformat.c:62: warning: type defaults to ‘int’ in declaration of ‘ppng_set_gray_1_2_4_to_8’ pngformat.c: In function ‘PngDecoder_Initialize’: pngformat.c:285: error: called object ‘ppng_set_gray_1_2_4_to_8’ is not a function
The distro i'm using is ArchLinux i686, that just shipped the new libraries with massive rebuilds. I already resolved the problem, as the only thing to do was search all "png_set_gray_1_2_4_to_8" and change them to "png_set_expand_gray_1_2_4_to_8" i already wrote a patch for this that make compilation works again, but now as appeared another problem: LD_LIBRARY_PATH="../../libs/wine:$LD_LIBRARY_PATH" ../../tools/wrc/wrc --nostdinc -I. -I. -I../../include -I../../include -D__WINESRC__ -foversion.res version.rc ../../tools/winegcc/winegcc -B../../tools/winebuild --sysroot=../.. -shared ./windowscodecs.spec bmpdecode.o bmpencode.o clsfactory.o converter.o gifformat.o icoformat.o imgfactory.o info.o jpegformat.o main.o palette.o pngformat.o propertybag.o regsvr.o stream.o ungif.o version.res -o windowscodecs.dll.so -luuid -lole32 -ladvapi32 -lkernel32 ../../libs/port/libwine_port.a pngformat.o: In function `PngFrameEncode_Commit': /home/luca/wine-git/dlls/windowscodecs/pngformat.c:987: undefined reference to `png_set_longjmp_fn' pngformat.o: In function `PngEncoder_Initialize': /home/luca/wine-git/dlls/windowscodecs/pngformat.c:1119: undefined reference to `png_set_longjmp_fn' pngformat.o: In function `PngFrameEncode_WritePixels': /home/luca/wine-git/dlls/windowscodecs/pngformat.c:861: undefined reference to `png_set_longjmp_fn' pngformat.o: In function `PngDecoder_Initialize': /home/luca/wine-git/dlls/windowscodecs/pngformat.c:252: undefined reference to `png_set_longjmp_fn' collect2: ld returned 1 exit status
I will now investigate this new one
BTW i confirmed that the libjpeg 7 -> 8 bump doesn't bring problem :)