fixinc problem

Kai Ruottu karuottu@freenet.hut.fi
Fri Dec 10 01:10:00 GMT 1999


Dave Reini wrote:
> 
> Hello,
> 
> I have been trying to build a cross compiler for the powerpc
> on a sun host with solaris2.7.
> My target is powerpc-elf.
> Host is sparc-sun-solaris2.7.
> 
> I have been stepping through the instructions on the cross compiler
> web page www.objsw.com/CrossGCC/FAQ-4.html.
> 
> I have binutils-2.9.5.0.22, gcc-2.95.2, and newlib-1.8.2.
> build-binutils works fine.
> I then try the gcc build, specifying the target and the prefix.
> It compiles to the point of fixinc.sh, then it dies because
> powerpc-elf/sys-include directory does not exist under the prefix
> directory.

 Probably the long path to the $(prefix)/$(target) is just broken...

> I've been searching through FAQ's, README's, etc. The only thing
> I can find is something about --with-headers.

 When gcc-2.95 (or some of it's prereleases) appeared, I fixed a bug in
the sources :

 Some parts of the Cygnus 'relative-path' additions had been adopted
to it, the TOOL_INCLUDE_DIR or something was now 'relative' to the
'install' dir, i.e. the path to the 'tooldir' was now:

 $(prefix)/lib/gcc-lib/$(target)/$(version)/../../../../$(target)

not the direct:

 $(prefix)/$(target)

as before...

Just guess what this means if the 'install' dir yet doesn't exist...

Ok, I patched the main Makefile.in by adding the search location :

  -B$(prefix)/$(target)

before the

  -B$(prefix)/$(target)/bin

already there, in the CC_FOR_TARGET, GCC_FOR_TARGET etc. definitions.

 I'm quite sure that the current egcs-snapshots don't have the bug any
more, but whether it was corrected in the gcc-2.95.1 and 2.95.2 is just
unclear. Probably not, because I don't remember any rejected patch for
this reason when installing the 2.95-2.95.1 and 2.95.1-2.95.2 diffs.

 Anyway, a pre-creation of the target 'install' directory

   $(prefix)/lib/gcc-lib/$(target)/$(version)

will also work around the bug...

 Not remembering this new 'feature', it has been hard to understand why
so many people have now problems with the target headers when trying
gcc-2.95.2, although they have installed them into the

  $(prefix)/$(target)/include

just as the instructions and all those 'people who should know' will
claim... Sorry, but there might have been a bug all the time and the
header problem really may exist... If someone has hit his/hers hers
against the wall, because of these kind of 'it should work if you
only follow the RMS instructions' advices from me, I can only
apologize...

 Let me quote the GCC manual and RMS :

 "When you have found suitable header files, put them in the directory
/usr/local/target/include, before building the cross compiler.  Then
installation will run fixincludes properly and install the corrected
versions of the header files where the compiler will use them."

 This doesn't really work if the bug I described is still there in
gcc-2.95.2 sources...

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com



More information about the crossgcc mailing list