gcc 4.3.1 given build=platform1 (i686-pc-cygwin) given platform2 (sparc-sun-solaris2.10)
mkdir /obj mkdir /obj/1 cd /obj/1 # ensure up to date native tools /src/gcc/configure -build platform1 -host platform1 -target platform1 -disable-bootstrap -disable-multilib -enable-languages=c,c++ && make && make install # cross tools -- have setup sysroot ahead of time mkdir /obj/2 cd /obj/2 /src/gcc/configure -build platform1 -host platform1 -target platform2 -disable-bootstrap -disable-multilib -enable-languages=c,c++ && make && make install # now the problem part mkdir /obj/3 cd /obj/3 /src/gcc/configure -build platform1 -host platform2 -target platform2 -disable-bootstrap -disable-multilib -enable-languages=c,c++ ???? && make && make install DESTDIR=/usr/local/platform2/install tar up the install scp untar on host try it out errors, because fixincludes uses the build /usr/include instead of the sys-rooted /usr/include. Even using -with-build-sysroot /usr/local/platform2/sys-root does not work. Apparently. I have to go read the code. Specific workaround: delete include-fixed/math.h I think this is particularly problematic in that the requirements here are "unique". Nowewhere else does the two platform canadian cross need the host/target sysroot. It's builtin to the cross compiler. The cross ocmpiler also has the correctly fixed includes. So another workaround is to use them. But they might be from an older version of gcc/fixincludes. -- Summary: fixincludes does not understand sysroot! Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jayk123 at hotmail dot com GCC host triplet: host=target, host!=build http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37036