------- Comment #7 from gschafer at zip dot com dot au  2008-03-16 06:41 -------
(In reply to comment #6)
> As a workaround can you try using all of the sysroot framework?

Thanks for looking at this Carlos. But the sysroot stuff is not really suited
to a non /usr layout. For example, with my --prefix=/temptools scenario, the
sysrooted toolchain will go looking for:

/temptools/usr/include
/temptools/usr/lib
/temptools/lib

whereas my layout is:

/temptools/include
/temptools/lib

And just to reiterate, according to  http://gcc.gnu.org/install/configure.html
the sysroot options apply *only* when building cross compilers. I know that
Alan Modra said he now builds sysrooted compilers on native hosts, so maybe the
GCC install docs need to be changed?

> Configure with
> --with-sysroot=/mnt/foo and --with-build-sysroot=/mnt/foo. Build with
> LDFLAGS_FOR_TARGET="--sysroot=/mnt/foo" and
> CPPFLAGS_FOR_TARGET="--sysroot=/mnt/foo".

Ok, I went ahead and tried with the above. The build system appears not to care
that the sysroot framework was in use on a native build. Great.

However, it doesn't work for my scenario. The build crapped out somewhere in
fixincludes:

The directory that should contain system headers does not exist:
  /temptools/usr/include
make[2]: *** [stmp-fixinc] Error 1

If I fudge past that error by doing a `mkdir /temptools/usr/include', it gets a
little further but craps out again:

In file included from ../../../gcc-4.3.0/libgcc/../gcc/libgcc2.c:33:
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:90:19: error: stdio.h: No such file
or directory
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:93:23: error: sys/types.h: No such
file or directory
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:96:19: error: errno.h: No such file
or directory
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:103:20: error: string.h: No such
file or directory
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:104:20: error: stdlib.h: No such
file or directory
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:105:20: error: unistd.h: No such
file or directory
../../../gcc-4.3.0/libgcc/../gcc/tsystem.h:111:18: error: time.h: No such file
or directory
make[2]: *** [_muldi3.o] Error 1

As mentioned above, the sysroot stuff is clearly designed for a file system
layout with /usr and DESTDIR style installs ie:

/sysroot/usr/include
/sysroot/usr/lib
/sysroot/lib

Oh well. T'was worth a try.

> I'm reading through the DIY instructions right now to make sense of your
> bootstrap process.

I have a feeling that slotting in a -B $prefix/lib somewhere in the
*FLAGS_FOR_TARGET could potentially solve my problem. Except that -B currently
doesn't process the multilibs.. damn.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35532

Reply via email to