On 2012-06-28 05:17, Goswin von Brederlow wrote: > Wookey <[email protected]> writes: >> 1) Some of the packages that cross-build-essential depends on >> (cross-compiler >> packages) are not yet in the archive, and won't be in wheezy. That >> means that these packages will not be installable and thus will not >> migrate from unstable until the cross-compiler packages do arrive. >> >> That seems like a very good reason to keep cross-build-essential as a >> separate source package for now, available from emdebian.org, along >> with the toolchains. Anyone disagree? > > I wonder what the difference is between cross-build-essential and > build-essential in terms of packages and wether we need a seperate > package at all. > > Say I want to have the build-essential for i386 installed on amd64. > I could install build-essential:i386, replacing gcc/g++:amd64 with > gcc/g++:i386. Wouldn't that give me everything needed to cross-compile > for i386?
In that case, yes, because you can run x86 code on an AMD64 or Intel 64 CPU. Though you would indeed be replacing gcc-4.7:amd64 etc. with gcc-4.7:i386 etc. as the packages aren't co-installable with themselves. But you can't install gcc-4.7:armhf (for example) on an AMD64 or Intel 64 system and expect to be able to compile anything. That's why we have cross compiler packages [1], e.g. gcc-4.7-arm-linux-gnueabihf:amd64. > That said wouldn't it make sense to have build-essential use > > Depends: g++:<arch> (>= <ver>) | g++-cross-<arch> (>= <ver>) > > Since build-essential is architecture any it already pulls in the > foreign libraries needed for that arch. Only difference would be that > since g++:<foreign> conflicts with the g++:<native> frontends would > choose g++-cross-<arch> instead. The idea is that a user (or sbuild >= 0.63.0) can install crossbuild-essential-<target> and have cross compilers etc. for a target architecture pulled in automatically. Installing the build-essential binary package doesn't do this, nor should it. To this end, the crossbuild-essential-<target> packages [2][3] depend on (among other things like dpkg-cross and pkg-config-<triplet>) gcc-4.7-<triplet> | c-compiler-<triplet> and g++-4.7-<triplet> | c++-compiler-<triplet>. (Note that the "-4.7" is temporary and should be removed once cross compiler metapackages exist [4].) [1]: http://emdebian.org/~thibg/repo/pool/main/g/gcc-4.7/ [2]: http://bootstrap.pehjota.net/build-essential/ [3]: http://bootstrap.pehjota.net/archive/pool/main/c/cross-build-essential/ [4]: http://lists.mister-muffin.de/pipermail/debian-bootstrap/2012-July/000248.html -- P. J. McDermott (_/@\_) ,--. http://www.pehjota.net/ o < o o > / oo \ http://www.pehjota.net/contact.html o \ `-/ | <> |. o o o "~v /_\--/_/ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

