On 05/25/2012 07:18 PM, Ian Lance Taylor wrote:
rbmj<rbmj@xxxxxxxxxxx> writes:
Maybe that's the error:
./gcc/xgcc -print-sysroot-headers-suffix
xgcc: fatal error: not configured with sysroot headers suffix
xgcc is the compiler in question right? . is the build directory. I
believe xgcc is the compiler that compiles all of the cross targets
(lib*).
Yes.
My configure call was:
../gcc-4.7.0/configure --prefix=/usr --target=powerpc-wrs-vxworks
--with-gnu-as --with-gnu-ld
--with-headers=../gccdist/WindRiver/vxworks-6.3/target/h
--disable-shared --disable-libssp --disable-multilib --with-float=hard
--enable-languages=c,c++ --enable-threads=vxworks --without-gconv
--disable-libgomp --disable-nls --disable-libmudflap --with-cpu-PPC603
I don't use --with-sysroot; I use --with-headers. So do I need to use
a different configuration? And how can I achieve the same effect
using --with-sysroot as I did with --with-headers if that *is* the
issue.
As the installation doc says, the --with-sysroot option is the new
replacement for the --with-headers option. So if you can, try using
--with-sysroot.
Otherwise, I'm not entirely sure. The Makefile rules for running
fixincludes are pretty tangled.
OK, so even with --sysroot, I get the following:
$ ./gcc/xgcc -print-sysroot
/opt/powerpc-wrs-vxworks
$ ./gcc/xgcc -print-sysroot-headers-suffix
xgcc: fatal error: not configured with sysroot headers suffix
compilation terminated.
Also, looking at build-x86_64-unknown-linux-gnu/fixincludes/fixinc.sh:
#!/bin/sh
exit 0
And re your earlier comment about the t-* files:
[in gcc/config] $ find | xargs grep STMP_FIXINC
./i386/t-cygming:STMP_FIXINC=stmp-fixinc
./mips/t-sdemtk:STMP_FIXINC = stmp-sdefixinc
AHA!
Looking at mkfixinc.sh:
case $machine in
i?86-*-cygwin* | \
i?86-*-mingw32* | \
x86_64-*-mingw32* | \
i?86-*-interix* | \
*-*-vxworks* | \
powerpc-*-eabisim* | \
powerpc-*-eabi* | \
powerpc-*-rtems* | \
powerpcle-*-eabisim* | \
powerpcle-*-eabi* )
# IF there is no include fixing,
# THEN create a no-op fixer and exit
(echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
;;
*)
cat < ${srcdir}/fixinc.in > ${target} || exit 1
;;
esac
That looks like the problem.
So, new question- why is vxWorks disabled from include fixing?
Robert Mason