LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 01-12-2009, 11:04 AM   #1
hazdingo
LQ Newbie
 
Registered: Jan 2009
Posts: 20

Rep: Reputation: 0
Install gone wrong


I'm trying to install FlowTools, but I keep getting the same error. What I do: "cd" into the flowtools directory, "./configure", and then "sudo make". This is where the error occurs. The error is the following... http://tinypic.com/view.php?pic=10ql7qo&s=5

Thanks for the help!
 
Old 01-12-2009, 12:01 PM   #2
colucix
LQ Guru
 
Registered: Sep 2003
Location: Bologna
Distribution: CentOS 6.5 OpenSuSE 12.3
Posts: 10,509

Rep: Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983
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:
Code:
patch < patch.file
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!

Last edited by colucix; 01-12-2009 at 12:02 PM.
 
Old 01-12-2009, 12:17 PM   #3
hazdingo
LQ Newbie
 
Registered: Jan 2009
Posts: 20

Original Poster
Rep: Reputation: 0
Thanks for the response. Which file am I going to be patching? I assume its a file with-in the flowtools directory, but I'm not sure which one. Thanks.
 
Old 01-12-2009, 03:38 PM   #4
colucix
LQ Guru
 
Registered: Sep 2003
Location: Bologna
Distribution: CentOS 6.5 OpenSuSE 12.3
Posts: 10,509

Rep: Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983
If you copy the patch file inside the flow-tools-0.66 directory (the main source directory, that one containing the ./configure script) and you launch the command
Code:
patch < patch.file
it will ask for confirmation about the files to patch since maybe the timestamp does not match. For example:
Code:
# patch < patch.file
can't find file to patch at input line 4
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -u -r ./lib/ftchash.c ./lib/ftchash.c
|--- ./lib/ftchash.c    Thu May 19 10:15:21 2005
|+++ ./lib/ftchash.c    Thu May 19 10:18:31 2005
--------------------------
File to patch: ./lib/ftchash.c
The name in red is what you have to write (just copy and paste the proposed file name in the line containing diff. Do this for each file to patch.

Last edited by colucix; 01-13-2009 at 04:51 PM. Reason: more clear explanation
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
what is wrong with ubuntu8.10?why i can not install it? topheraholic Linux - Newbie 13 11-06-2008 06:40 AM
Cacti Install - Where am I going wrong? andyb28 Linux - Software 4 03-30-2007 05:01 PM
10.2 install gone wrong Kaamoss Slackware 6 09-21-2005 01:52 PM
Help! Linux install gone wrong BadTimes Linux - General 10 01-13-2005 04:30 PM
Debian install gone wrong.. please help me Oraee Linux - General 1 10-16-2002 04:30 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 08:44 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration