Since it is an old piece of software, it does not work properly with gcc version 4 due to some changes in the C standard that cause this problem arise. The original author released a patch to correct this problem. You can find it
here. Just copy the patch into a text file (suppose you call it patch.file) and put it in the installation directory and run the following command:
for each fragment of the patch you will be asked for the name of the file to patch. Just copy and paste the file name with its relative path (exactly as you see it displayed). Now do
Code:
make distclean
./configure
make
You will see the problem is solved, but early another error will arise: some other code to correct due to the new standard! The errors will appear as
Code:
flow-cat.c: In function ‘main’:
flow-cat.c:555: error: label at end of compound statement
make[1]: *** [flow-cat.o] Error 1
at this point every time you encounter this error, just edit the relevant file (./src/flow-cat.c in the example above) go to the relevant lines (e.g. 555 as above) and after the label put a semi-colon in a new line. For example the following
Code:
/* interrupted? */
if (done)
break;
next_file:
} /* FOREACH filename in dir */
} /* foreach dir bundle */
must become
Code:
/* interrupted? */
if (done)
break;
next_file:
;
} /* FOREACH filename in dir */
} /* foreach dir bundle */
Do this for each file every time you encounter this error and run make immediately after that (so the compilation will restart immediately after it was interrupted). The reason for this is that the new C standard requires a label be followed by a statement. A single semi-colon can be a (null) statement itself.
And the trick is finally done. Hopefully!
