On 25/08/13 14:10, lux-integ wrote:
On Sunday 25 August 2013 12:36:37 David Brodie wrote:
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

thanks for your suggestion. I applied the patch you attached (swf-0.9.2.patch
) and here are the results:-

# now patching is quieter yielding this:-
#---------------
patching file src/gif2swf.c
#--------------

but make stills fails ending like so

#---------------
gif2swf.c: In function 'MovieAddFrame':
gif2swf.c:234:5: error: too few arguments to function 'DGifOpenFileName'
      if ((gft = DGifOpenFileName(sname),&errcode) == 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:240:9: warning: implicit declaration of function 'PrintGifError' [-
Wimplicit-function-declaration]
          PrintGifError();
          ^
gif2swf.c: In function 'CheckInputFile':
gif2swf.c:493:5: error: too few arguments to function 'DGifOpenFileName'
      if ((gft = DGifOpenFileName(s),&errcode) == 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);
               ^
make[1]: *** [gif2swf.o] Error 1
#--------------

i.e identical to what I obtained before:-

#-----------------------
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);
#-----------------------


basically it would appear that this patch
  http://nongnu.13855.n7.nabble.com/PATCH-build-support-for-giflib-5-x-
td169585.html  ( mentiond in  my earlier post )

is incomplete;  perhaps why there is no obvious way to 'download' it.
------------------------
further suggestions welcomed

sincerely
luxInteg


Oops, should have been 'if ((gft = DGifOpenFileName(sname,&errcode)) == NULL)', etc.

Correction attached.

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