On 25/08/13 11:27, lux-integ wrote:
Greetings

I am trying to compile swftools-0.92  an optional dependency of gnash (
http://www.linuxfromscratch.org/blfs/view/svn/xsoft/gnash.html ).
The computer has giflib5 (
http://www.linuxfromscratch.org/blfs/view/svn/general/giflib.html ) installed

It seems there is a problem with giflib5.  I tried searching for patches but
the best I came across is this
( http://nongnu.13855.n7.nabble.com/PATCH-build-support-for-giflib-5-x-
td169585.html
)

  I tried to construct a patch thereform but most of the effort  returned  the
following

#------------Applying patch
patching file src/gif2swf.c
Hunk #1 FAILED at 222.
Hunk #2 FAILED at 230.
Hunk #3 FAILED at 465.
Hunk #4 FAILED at 488.
Hunk #5 FAILED at 498.
5 out of 5 hunks FAILED -- saving rejects to file src/gif2swf.c.rej
#------------




and make ends like so:-
#-----------------------
gif2swf.c: In function 'MovieAddFrame':
gif2swf.c:233:5: error: too few arguments to function 'DGifOpenFileName'
      if ((gft = DGifOpenFileName(sname)) == NULL) {
      ^
In file included from gif2swf.c:28:0:
/usr/include/gif_lib.h:177:14: note: declared here
  GifFileType *DGifOpenFileName(const char *GifFileName, int *Error);
               ^
gif2swf.c:239:9: warning: implicit declaration of function 'PrintGifError' [-
Wimplicit-function-declaration]
          PrintGifError();
          ^
gif2swf.c: In function 'CheckInputFile':
gif2swf.c:491:5: error: too few arguments to function 'DGifOpenFileName'
      if ((gft = DGifOpenFileName(s)) == NULL) {
      ^
In file included from gif2swf.c:28:0:
/usr/include/gif_lib.h:177:14: note: declared here
  GifFileType *DGifOpenFileName(const char *GifFileName, int *Error);
#-----------------------


It looks like giflib 5 expects an extra *int parameter to the DGifOpenFilename call - try the attached, copy to your 'sources' directory, and run 'patch -Np1 -i ../swftools-0.9.2.patch' from the 'swftools-0.9.2' directory (as per usual).

If that works, then do what I've done here if you get errors with any other files - in fact, a quick grep suggests that DGifOpenFilename is only used in gif2swf.c

David

--- a/src/gif2swf.c	2011-01-02 03:30:29.000000000 +0000
+++ b/src/gif2swf.c	2013-08-25 11:24:23.000000000 +0000
@@ -219,6 +219,7 @@
     U16 delay, depth;
     int disposal;
     char *as_lastframe;
+    int errcode;
 
     GifFileType *gft;
     FILE *fi;
@@ -230,7 +231,7 @@
     }
     fclose(fi);
 
-    if ((gft = DGifOpenFileName(sname)) == NULL) {
+    if ((gft = DGifOpenFileName(sname),&errcode) == NULL) {
         fprintf(stderr, "%s is not a GIF file!\n", sname);
         return t;
     }
@@ -465,6 +466,7 @@
     FILE *fi;
     char *s = malloc(strlen(fname) + 5);
     GifFileType *gft;
+    int errcode;
 
     if (!s)
         exit(2);
@@ -488,7 +490,7 @@
     }
     fclose(fi);
 
-    if ((gft = DGifOpenFileName(s)) == NULL) {
+    if ((gft = DGifOpenFileName(s),&errcode) == NULL) {
         fprintf(stderr, "%s is not a GIF file!\n", fname);
         return -1;
     }
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to