Re: Questions regarding armhf port for Raspberry Pi
+++ Mike Thompson [2012-03-23 00:24 -0700]:
> Thinking this through a bit more I realize that whenever I build a package that
> statically links against existing armhf libraries that the resulting binaries
> will contain both armv6 (newly compiled code for hte package) and armv7 code
> (anything pulled in from existing libraries).
True - but is there any static linking going on in fact? There isn't
much of it about these days (flex does it IIRC, and no doubt a few
other bits of software for various reasons). I have often wondered how
much 'old code' seeps through in a project like this. In theory it
should be very little. I've never checked the practice.
> This presents a kind of
> chicken-and-egg problem. To avoid this, the easiest solution is to make sure
> that any package that is linked against another package I'll have to make sure
> the package being linked against is pure armv6 code.
That would require there not to be lots of circular build-dependencies
in Debian, such that there was a linear order to build things in.
That's not actually the case (see
http://wiki.debian.org/CircularBuildDependencies). In practice simply
building everything twice will probably do the trick.
> To accomplish creating all the packages for a minimal install of Debian armhf,
> it means that not only do I need to rebuild all packages pulled in by
> debootstrap, but all packages those packages link against (which can be found
> by build-dep). This will be an interesting exercise.
The set of packages you install and the set of packages linked-against
will be the same, except for static linking, and I beleive that to be
very rare, quite possibly non-existent in a base install. So I don't
think this issue meaningfully changes your problem-size.
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM