Fedora and Cross Compiling

Ralf Corsepius rc040203 at freenet.de
Fri Jun 15 13:36:42 UTC 2007


On Fri, 2007-06-15 at 14:20 +0100, David Woodhouse wrote:
> On Fri, 2007-06-15 at 07:59 -0500, David Smith wrote:
> > 
> > Note that we leave things so that native compiles still work.  We then 
> > check native dependencies (_arch == _build_arch) against our mock 
> > chroot's native rpm database, then check cross dependencies (_arch != 
> > _build_arch) against the mock chroot's target rpm database.
> > 
> > Target versions of autoconf and sed aren't needed since nothing links 
> > against anything in those packages (those packages are only run 
> > natively).  The only problem with this scheme is that we end up with an 
> > extra native dependency of libblah-devel (which really isn't needed 
> > since nothing links against it in the cross compile).  But the benefit 
> > of unaffected native compiles outweighed the extra dependency.
> 
> I might go so far as to suggest that the benefit of avoiding that
> %if "%{_arch" == "%{_build_arch}" stuff in the specfile might outweigh
> the extra dependencies on autoconf and sed, too.
ACK, esp. because "%_arch and %_build_arch", aren't the correct defines
to use. They should be %_host and %target.

> One way of handling dependencies in mock for cross-builds might be to
> install the full set of dependencies for _both_ host and target
> architectures. 
Is rpm able to install arbitrary "foreign arch'ed rpms" to a non-default
"rpmroot"?

e.g. to run
rpm -i -r /usr/share/<target>/var/lib/rpm xxx.sparc.rpm
on non-sparc systems?

Ralf





More information about the fedora-devel-list mailing list