[Xorp-hackers] ICE on FreeBSD-4.x-STABLE and gcc-2.95.4 with today CVS (it didn't happen yesterday)

Mark Handley M.Handley@cs.ucl.ac.uk
Fri, 16 Apr 2004 12:53:43 +0100


>On Fri, 16 Apr 2004 12:31:34 +0100, Mark Handley <M.Handley@cs.ucl.ac.uk>  
>wrote:
>>
>> My build completed correctly using gcc 2.94.4 on FreeBSD 4.9.
>>
>> Is the error consistently repeatable?  If not, I'd suspect bad
>> hardware.
>
>Yes, it is.

I suppose it could still be bad hardware, if that's the place where it
requires most memory or something.  But it seems less likely.

The error was a segmentation violation in ld, which isn't even in the
main compiler, so this is very strange.  Have you tried a gmake clean,
and rebuild everything again - it's possible that one of the .o files
or libraries is somehow corrupted.

I suppose ld could have been updated in RELENG_4, but this seems
unlikely too.  What version of ld do you pick up.  I get:

echidna.cs.ucl.ac.uk: ld -v
GNU ld version 2.12.1 [FreeBSD] 2002-07-20

If that doesn't work, then I can only suggest a workaround, because it
doesn't seem to be a problem with the XORP source - I can't reproduce
it using the same compiler and source tree.  

Our main compiler now is gcc 3.3, because it traps a lot of errors
that 2.95 misses - you can install this from FreeBSD ports
(/usr/ports/lang/gcc33) and it won't conflict with gcc 2.95 because it
installs itself as gcc33 rather than gcc.  Then you can get XORP to
build using the new compiler by doing:

  setenv CC gcc33
  setenv CXX g++33
  gmake clean
  ./configure
  gmake

Don't skip the gmake clean step, because the two compilers are not
binary-compatible.

Cheers,
	Mark