fedora for ARM

Manas Saksena msaksena at marvell.com
Wed Jun 6 02:52:25 UTC 2007


Andy Green wrote:
> Hans de Goede wrote:
>> Linus Walleij wrote:
>>> 2. As I understand it you employ the Fedora/x86 style of not using a
>>>    cross-compiler to build these packages, but rather build them with ARM
>>>    on ARM. I am aware of some RPM derivatives like those used by
>>>    MontaVista, that employ a cross-compiler instead. What are your
>>> thought
>>>    on these issues? Have you tested both solutions and come to the
>>>    conclusion that the all-ARM-enclosed build system is the way to go?
>>>
>> In my somewhat limited experience cross-compiling of software which is
>> not designed for that from day one is a big pain, let alone
>> cross-compiling an entire distro! There are indeed some hacks around rpm
>> to make the packahes think they are being build nativly, but what I've
>> seen these are very gross hacks and still break often.
>>
>> Native compiling definitively is the way to go, an alternative might be
>> emulating the native system and building in the emulated system.
> 
> The way to go IMO is to improve the common packages to work well with
> crosscompile... ones with recent autoblah on them generally work nice
> and easily.  Fedora itself could do with say being able to build all the
> arch binaries simply on a single build host too.

I agree; IMHO, this is the way to go in the long-term. As I see it, the 
first step is to make sure that rpmbuild and the Fedora spec file do not 
come in the way. That is, if an upstream package will cross-compile, 
then it should be possible to cross-build the corresponding Fedora RPM.

One might even look at it as a bug (albeit, at this point in time, a low 
priority one) if a package cannot cross-compile. Over time, it is not 
unreasonable to believe that this could be addressed through a set of 
diligent package maintainers and good packaging guidelines.

> I have rpm-packaged a bunch of apps for crosscompile (arm9 and avr32) here
> 
> http://octotux.org
> 
> See
> 
> http://rpm.octotux.org
> 
> for the packages.  I don't claim the spec files meet any criteria of
> beauty or utility for Fedora, since I was learning packaging from
> scratch while I did them, but they do crosscompile.

Did you have to modify rpm/rpmbuild tools? Virtually, every Embedded 
Linux vendor has modified rpm to make it behave properly for 
cross-building etc. It would be a good idea if we can get this done 
right in upstream rpm.

I dont know where you can find MontaVista's rpm, but you can certainly 
take a look at Denx's rpm (as part of their ELDK) and tsrpm by Chris 
Faylor (TimeSys) for two approaches to this.

> Perl and Python are the holdouts I did not bother to spend more than a
> day on, since they currently try to use their own target-compiled
> binaries as part of their build process.

They can (and have been) tamed too :-)

Manas





More information about the fedora-devel-list mailing list