GCC build error (missing separator)

Ken Moffat ken at linuxfromscratch.org
Thu Jun 5 17:59:27 PDT 2008


On Fri, Jun 06, 2008 at 07:12:21AM +0930, Sharif Oerton wrote:
> On Friday 06 June 2008 02:58:03 Ken Moffat wrote:
> >  When the build failed, did you not see a series of messages
> > something like "making all in foo" "making all in foo/bar", followed
> > by an error message, then a series of other messages as it leaves
> > directories, before the final "Error n" ?
> 
> No, just the "Missing separator" error message. 
> 
> >  Since you don't seem to believe there are multiple Makefiles, try
> > (in the gcc-build directory)
> > find . -name 'Makefile'
> 
> That only returns one line, /.Makefile. 
> 
> Sharif
> 
 In that case, I have no idea what the specific cause is.  I guess
you are missing something essential - it almost sounds as if make
itself is not found, but you couldn't have got this far.

 Ah, at the start of pass 2 we copy gcc/Makefile.in to
gcc/Makefile.in.orig and sed it, then copy to gcc/Makefile.in.tmp
and sed that back to gcc/Makefile.in - I wonder if something went
wrong in your seds.

e.g. perhaps the '\' in the second sed was not the last character
on a line (it's a continuation, just like in the configure command).
Getting that wrong could conceivably wipe out gcc/Makefile.in - what
do you get for
 ls -l ../gcc-4.1.2/gcc/Makefile.in*

 ? - if any of these files are zero length, you messed up the seds.

 What you might also find useful, at least until this problem is
resolved, is to save the output, e.g. create a different log file
for each command by using 'tee' (don't try this for the sed
commands, stdout is the edited file and you don't want to reroute
that).  For the configure and make commands, something like

../gcc-4.1.2/configure --options ... 2>&1 | tee myconfiglog

and later

make 2>&1 | tee mybuildlog

 - you can then look at the logs (in view, or less) and scroll down:
to search for the string 'Error' use '/Error' in either of those
viewers.

 The '2>&1' puts stderr (error messages) with the main stdout output.
The downside of this (before someone sticks it into a script without
thinking) is that 'tee' will return success as its status even if
the command being piped to it returns a different status.

ĸen
-- 
das eine Mal als Tragödie, das andere Mal als Farce



More information about the lfs-support mailing list