[Mono-dev] Building Mono Using Scratchbox

Paolo Molaro lupus at ximian.com
Thu Dec 21 04:19:55 EST 2006

On 12/20/06 Barry Bennett wrote:
> Several days ago I posted a message about being able to cross compile 
> mono for an ARM device.  I got some interesting suggestions, but 
> nothing that would get me thru a successful build.  Given that no one 
> seemed to have a solution to using a traditional cross compilation 

It's not that no one has a solution, it's just not automated and
error-prone, so we don't encourage it. The issue is very simple:
during the build we create some helper programs (monoburg and
genmdesc), but since they are built for the target system, they
fail tu run on the compilation box (monoburg may actually work now, I
didn't keep track of the details). genmdesc uses runtime libs
and headers and it is not setup to run in a different architecture.
You'd need to take the genmdes and another file to the native box, run
it there and copy the files back to the build dir.
We'll accept patches for this, but using scratchbox is so much simpler.

> documentation.)  I think my scratchbox installation is correct now 
> and I am back to the initial problem of building mono for the ARM, 
> this time using scratchbox.

Did you test building arm binaries? Do they work? Also, what
ARM ABI are you using?

> I've tried a few things that were suggested to me as well as some 
> things from postings I've read about doing this, but none of them 
> have worked.  (In fact I think I was closer using a traditional cross 
> compilation build method.)  Does anyone have experience with building 
> mono using scratchbox for an ARM target type?  If so, is there a set 
> of "reasonably" detailed instructions on how to do it?  (By 
> "reasonably detailed" I am hoping to get a little more detail than 
> something like type: "./configure" and "make" and scratchbox will do 
> all of the rest.)

Well, you ask for details, but you don't provide any about the errors
you get so we can't actually help you.
Using scratchbox you do everything as if you built on the native box,
the only change is to add --disable-mcs-build to ./configure (or to
./autoge.sh if you build from svn instead of using a tarball).
There is actually nothing more than that that is different from building
on a native box.
So if you want us to help, you should provide more details about what
error you get etc.
Thanks for your patience, but we really need the errors log.


lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better

More information about the Mono-devel-list mailing list