[haiku-development] Re: Mono Port

  • From: Stephen Hite <steveh2009@xxxxxxxxxxx>
  • To: "haiku-development@xxxxxxxxxxxxx" <haiku-development@xxxxxxxxxxxxx>
  • Date: Mon, 8 Sep 2014 01:45:09 -0400

Here's a correction to the original post.  It seems I misinterpreted the 
configure setup and I'm actually using the included Boehm GC library instead of 
Haiku's port.   That part may be working  fine given that all the C# libraries 
compiled across all of the .Net releases which should have revealed some kinf 
of GC error(s) if my patches were bad.  There already were BeOS patches to 
Mono's version so it apparently has been looked at by others before.   

I compiled with the nogc option and the C# compiler wouldn't run.  I tried to 
use the Haiku 7.2d libgc but there were unresolved symbols to function names 
even though the nm util says they're in the Haiku libgc binary.  Rather than 
get side- tracked on that I'll thank my lucky stars the included Boehm libray 
version with some backpatching from the 7.2d Haiku port has gotten me farther 
than the other two cases.

The Mono Runtime tests are not all passing as I had first thought.  There are 6 
test cases in total which don't pass and they cause SIGSEGV crashes of the Mono 
executable.  They are caused by raising a NullReference exception and a 
DivideByZero exception.  These have to be fixed before proceeding to the 
library unit tests.

I'll seek help from the Mono Dev mailing list.  The v6 gdb included with Haiku 
is giving a Dwarf header mismatch when loading the mono binary so I wonder if 
compiling the v7 gdb from HaikuPorts will fix that?   It looks like I have to 
get some gdb results to give the Mono Dev folks something more to work with.   
These two exception errors causing SIGSEGV's are not near my very few patches 
that I can tell so far.


> On Sep 5, 2014, at 2:56 PM, Stephen Hite <steveh2009@xxxxxxxxxxx> wrote:
> 
> 
> Well, it seems that the kernel and library development has progressed so well 
> over the past 4 years that it didn't take much to get Mono 3.8.0 to compile 
> with gcc4 and one of the nightly builds from the past month.  The complete 
> .Net Library chain compiled and all the Mono runtime tests passed so that's a 
> very good sign.   
> 
> I used the Boehm Garbage Collector library that had already been ported to 
> Haiku (v7.2d) in place of their version, but the funny thing is, I had to 
> backpatch theirs (from Haiku specific code from the 7.2d sources) to get the 
> libgc directory to build even though it's not being used.
> 
> There's a SIGSEGV in the Unit tests suite and another one in the C# compiler 
> tests suite which are stopping them from completing.  I have to figure out 
> how to track those down with gdb outside of the Makefiles which invoke them 
> as the they don't tell you which specific one crashed the suite.
> 
> After all of Mono's tests pass, the big job is to get libgdiplus ported, 
> MonoDevelop to build and use their CppSharp utility to get the native Haiku 
> libraries marshalled into the .Net world.   There are already some HaikuPort 
> libraries which could be brought up to date.
> 
> It's very possible my fixes to get the build to work are the very source of 
> the crashes.  Time will tell.  But what I'd like to do is post a link to the 
> patches with some of the minor Makefile edits I made (all this autoconf stuff 
> is way over my head) later tonight (EST) so others interested in getting 
> further along have a decent starting point. 
> 
> Steve
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

Other related posts: