Patch attached.
Created attachment 345404 [details, diff] Fix build to work with giflib 5
*** Bug 486320 has been marked as a duplicate of this bug. ***
*libgdiplus-2.10.9-r1 (11 Oct 2013) 11 Oct 2013; Heather Cynede <cynede@gentoo.org> +files/libgdiplus-2.10.9-giflib-quantizebuffer.patch, +libgdiplus-2.10.9-r1.ebuild: giflib-quantizebuffer patch for bug #486320
Following up on bug 486320 I cannot compile libgdiplus-2.10.9-r1 with the following error: /bin/sh ../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -O2 -pipe -march=amdfam10 -O2 -pipe -g -fno-strict-aliasing -pthread -Wl,-O1 -Wl,--as-needed -o testreversepath testreversepath.o ../src/libgdipl us.la -lX11 -lglib-2.0 -lpthread -lfontconfig libtool: link: x86_64-pc-linux-gnu-gcc -O2 -pipe -march=amdfam10 -O2 -pipe -g -fno-strict-aliasing -pthread -Wl,-O1 -Wl,--as-needed -o .libs/testgdi testgdi.o ../src/.libs/libgdiplus.so -lX11 -lglib-2.0 -lpthread -lfontconfig -pthread ../src/.libs/libgdiplus.so: undefined reference to `QuantizeBuffer' collect2: error: ld returned 1 exit status make[2]: *** [testgdi] Error 1 make[2]: *** Waiting for unfinished jobs.... ../src/.libs/libgdiplus.so: undefined reference to `QuantizeBuffer' collect2: error: ld returned 1 exit status ../src/.libs/libgdiplus.so: undefined reference to `QuantizeBuffer' collect2: error: ld returned 1 exit status make[2]: *** [testclip] Error 1 This first occured to me after the stabilisation of 2.10.9-r1. I did not encounter this bug before. My version of media-libs/giflib is 4.2.3-r1 .
(In reply to EoD from comment #4) > Following up on bug 486320 I cannot compile libgdiplus-2.10.9-r1 I had the same problem, and unmasking libgdiplus-2.10.9-r2 fixed it. It seems that libgdiplus-2.10.9-giflib-quantizebuffer.patch is applied for libgdiplus-2.10.9-r2 while it's not applied for libgdiplus-2.10.9-r1.
Why has the subject of this bug been completely changed and then closed? Giflib 5 support has not been added.
giflib 5.1 adds the following issues: gifcodec.c: In function 'gdip_load_gif_image': gifcodec.c:902:2: error: too few arguments to function 'DGifCloseFile' DGifCloseFile (gif); ^ In file included from gifcodec.c:38:0: /usr/include/gif_lib.h:183:9: note: declared here int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); ^ gifcodec.c:922:3: error: too few arguments to function 'DGifCloseFile' DGifCloseFile (gif); ^ In file included from gifcodec.c:38:0: /usr/include/gif_lib.h:183:9: note: declared here int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); ^ gifcodec.c: In function 'gdip_save_gif_image': gifcodec.c:1263:2: error: too few arguments to function 'EGifCloseFile' EGifCloseFile (fp); ^ In file included from gifcodec.c:38:0: /usr/include/gif_lib.h:132:5: note: declared here int EGifCloseFile(GifFileType *GifFile, int *ErrorCode);
Created attachment 395994 [details, diff] Additional patch for giflib 5.1
(In reply to Andrew John Hughes from comment #7) > giflib 5.1 adds the following issues: > > gifcodec.c: In function 'gdip_load_gif_image': > gifcodec.c:902:2: error: too few arguments to function 'DGifCloseFile' > DGifCloseFile (gif); > ^ > In file included from gifcodec.c:38:0: > /usr/include/gif_lib.h:183:9: note: declared here > int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); > ^ > gifcodec.c:922:3: error: too few arguments to function 'DGifCloseFile' > DGifCloseFile (gif); > ^ > In file included from gifcodec.c:38:0: > /usr/include/gif_lib.h:183:9: note: declared here > int DGifCloseFile(GifFileType * GifFile, int *ErrorCode); > ^ > gifcodec.c: In function 'gdip_save_gif_image': > gifcodec.c:1263:2: error: too few arguments to function 'EGifCloseFile' > EGifCloseFile (fp); > ^ > In file included from gifcodec.c:38:0: > /usr/include/gif_lib.h:132:5: note: declared here > int EGifCloseFile(GifFileType *GifFile, int *ErrorCode); So that's for a new bug report, then.
I get the same error about QuantizeBuffer trying to compile dev-dotnet/libgdiplus-4.2 against media-libs/giflib-4.2.3-r1. Using giflib-5.1.2 everything works fine.