Re: Perl cross building support
Sorry, I think I may have confused you. The embedded distro project I
mentioned is separate from Debian and my work in this GSoC project. I
only mentioned it because my experience with that project has helped me
in this case (and many others) on this GSoC project.
The idea in this GSoC project ("Bootstrappable Debian" ) is to
cross build just enough packages to get a base system that can natively
build the rest of the archive, then to resolve cyclic build dependencies
when natively building the rest.
On 2012-06-10 04:35:23, Neil Williams wrote:
> On Sat, 09 Jun 2012 18:16:32 -0400
> "P. J. McDermott" <email@example.com> wrote:
> > perl-base (from src:perl) is one of the packages that must be in the
> > base build system (it's marked "Essential: yes" and there are four
> > dependent Perl module packages marked "Priority: required"). So it will
> > be one of the packages I have to make sure can be cross built.
> Not necessarily. For bootstrapping a full Debian archive, yes, but for
> an embedded distribution based on Debian, no. (Emdebian Crush did
> this). It is entirely possible to have Debian without perl, Essential
> doesn't have to mean anything for embedded purposes. Cross-building
> perl isn't a blocker for anything other than bootstrapping - and it
> could be argued that you don't need a full perl interpreter to
> bootstrap, as long as you can cross-build enough of perl that any
> circular dependencies are avoided.
I am working to bootstrap a full Debian archive, not to build a
distribution based on Debian.
A Perl interpreter is necessary for a bootstrap most obviously because
of dpkg-dev, and also probably debhelper .
> Don't cross-build stuff which is available already *unless* you
> absolutely must have modified functionality.
Host-architecture binary packages built from src:perl are of course not
available when bootstrapping.
> > I realized that the Perl interpreter
> > can't really be cross built (my goal in that project is to cross build
> > every package).
> That is a waste of effort. It is a pointless objective, as above.
That goal is for my embedded distro project and not related to my work
in Debian. There is a valid reason for that goal, and so far it seems
feasible, so for that other project it is not pointless.
> Almost certainly they do, amongst other packages. Perl is just one of
> many, it's not just interpreters either. You might find the
> EmdebianAudit useful for that. (wiki.d.o)
Thanks, this looks like it could help in one or both of my projects.
> > Should I escalate the severity of #633884 from wishlist, since we need
> > src:perl to cross build?
> NO. Cross-building has never had a severity higher than wishlist in
> Debian. Cross-building is not an objective for Wheezy, it isn't an
> objective in and of itself anyway.
For a small number of packages (the base build system), cross building
is necessary for a full Debian bootstrap. So while cross building for
most packages is indeed generally only of "wishlist" severity, for these
base packages I think a higher severity is warranted. But of course
that's not up to me to decide.
> What we actually need is a cross-building system based on MultiArch in
> Wheezy+1 (or possibly +2) - as long as your cross-build support is
> independent of how the cross dependencies are installed (i.e. in the
> paths for foreign arch libraries) then it will work. Ensure that your
> support does not perpetuate a reliance on dpkg-cross because that is
> going away. Most cross-builds will be fine - just ensure that there are
> no hard-coded paths which look for /usr/$triplet/lib instead
> of /usr/lib/$triplet.
Yes, this is to be a multiarch cross build (with no dpkg-cross) of these
few packages for wheezy+1.
P. J. McDermott (_/@\_) ,--.
http://www.pehjota.net/ o < o o > / oo \
http://www.pehjota.net/contact.html o \ `-/ | <> |.
o o o "~v /_\--/_/