[Pkg-mono-devel] Packaging Mono for arm

Jo Shields directhex at apebox.org
Mon Feb 28 18:12:35 UTC 2011


On Mon, 2011-02-28 at 16:53 +0000, Weeble wrote:
> Hi. If this is the right place to ask, could anyone tell me:
> 
> 1. How you go about building the Mono packages for ARM devices? Do you
> use a cross-compiler, or do you just do it on an ARM device itself?
> 2. By what process does code in Mono's git repository make its way
> into packages? Is it only when Mono makes a release, or at other times
> as well?
> 
> Some background:
> 
> I'm working on software that runs on a Sheevaplug using mono. At
> present we have Debian Squeeze installed on the Sheevaplugs, and
> mono-2.6.7 from the Squeeze repository. I found a bug in Mono,
> diagnosed it and provided reports to the Mono project. It has now been
> fixed in git in the mono-2-6, mono-2-10 and master branches. I have
> fetched the source from their mono-2-6 branch and built it using
> Scratchbox 2 and a cross-compiler toolchain from Code Sourcery, and it
> was pretty messy and painful. I couldn't get the managed code to build
> in Scratchbox, so I needed to do an x86 build, install that onto the
> ARM device (yuck!) then an ARM cross-compile of only the native parts,
> and finally install that on the ARM device on top of the x86
> installation. With that I was able to verify that the fix worked.
> However, I don't trust this horrid process as a way for deploying Mono
> onto the Sheevaplugs that are going to run my software in production.
> With that in mind, I'm interested in two things - how and when those
> fixes might make it into Debian's mono package, and also how I can
> make my own custom Mono package for installation on the production
> devices.
> 
> I figured that a good first step would be to "apt-get source mono" and
> try to run dpkg-buildpackage to target an ARM device, with the idea
> that later on I could repeat this process instead using the latest
> code from the mono-2-6 git branch and the appropriate Debian patches.
> (I'm still a bit fuzzy on a lot of the packaging process, but one step
> at a time.) Unfortunately, I'm really not too sure how to do a
> cross-compile for this. I think I want a command-line something like
> this:
> 
> dpkg-buildpackage -aarmel -tarm-linux-gnueabi
> 
> ...but I don't know if I need to run this in Scratchbox or if there's
> some clean way to do this without Scratchbox. I certainly haven't
> gotten very far yet.

I've consistently had problems with cross-compiling in the past, so I
don't even try it these days.

I run test builds for ARM issues on a porterbox kindly donated by Genesi
to the Debian Mono team - and additional tests on the Debian ARMv5
developer porterboxes when I want to compare and contrast ARMv5 versus
ARMv7 behaviour.




More information about the Pkg-mono-devel mailing list