> Okay, this is essentially how cross-tool or codesourcery would build > their cross-toolchain? The scripts are different, but the idea is > same. Or, am I missing something? Not sure how those work, but... Building a toolchain with a sys-root is a chicken and egg problem, as you need the libraries to build the compiler (esp libgcc.so), and you need the compiler to build the libraries. On a native system, you already have "some" copy of each installed, so the problem is, well, less fatal. What we do with GNUpro is merge the source trees (at least, gcc, gdb, binutils, and maybe newlib) into a single unified tree, and build that all at once. When the target uses newlib, that means everything has what it needs at the right time, which avoids many of the dependency problems. For glibc targets, what pretty much everyone does is "stage" the builds - building part of gcc, part of glibc, more of gcc, more of glibc, etc. There are dependencies between gcc and glibc that are difficult to resolve cleanly, but you can't just build the two of them in one source tree. Sometimes, the kernel gets involved too. In addition, as we cross-build packages, the "-dev" versions get installed (or at least *need* to ;) into the sys-root within our install tree (/opt/redhat/gnupro-07r1-1/H-*/${target}/sys-root), overriding anything else that might be there (the bootstrap's glibc, for example) so that the tools use them for future builds. > Could you explain how you leverage Fedora in your approach, or is > that not something you particularly care about? The purpose of this package is to offer what we happen to have to the community. We're not trying to "leverage" anything or coerce people into doing things our way, just giving people an opportunity to see what we have. Perhaps it will give people ideas, maybe someone will find it useful. We (RH) certain do care about Fedora, but the GES group specializes in cross compilers, not natives, and we maintain our own branch of the tools so we can concentrate on issues (usually bugs) specific to cross compiling. For cross-compiling Linux rootfs's, we normally do use the Fedora packages. In the past, we've found they often need porting or other changes to work in a non-x86 non-native build. We, like you, look forward to not having to port them any more ;-)