[Mono-osx] Can't compile Mono on Snow Leopard?

Jason Foreman jason at threeve.org
Fri Sep 11 11:42:37 EDT 2009

Hi Kenny,

On Sep 11, 2009, at 9:51 AM, Kenny Clement wrote:

> Hi,
> I'm using Mono in combination with Monobjc.

I'm currently evaluating this exact combination for use as well.

> On OS X 10.5 (leopard), everything works, but when I run the app on  
> OS X
> 10.6 (Snow Leopard), I'm getting a few issues.

I'm also noticing some issues on Snow Leopard...

> So far:
> Issue #1:
> Running unit tests on Snow Leopard doesn't work, because of bug  
> #533893
> https://bugzilla.novell.com/show_bug.cgi?id=533893
> Apparently, this bug has been resolved on SVN.

I'm not sure this really is fixed, or else there are other bugs in the  
same low-level code.  I've been able to build mono (see below) and can  
still force a crash by running:

	Console.WriteLine("{0}", Process.GetCurrentProcess());

> Issue #2:
> Mono crashes when doing Garbage Collection. I created bug report  
> #537764
> for this:
> https://bugzilla.novell.com/show_bug.cgi?id=537764
> Still working on reproducing in a sample app or small test code.
> Issue #3:
> In order to try the fix for issue #1, and also for testing with a
> different GC, I tried compiling the SVN version of Mono on SNow  
> Leopard.
> Unfortunately, this also fails.
> It seems as if Snow Leopard is detected incorrectly. The mach- 
> type, ...
> are incorrect, resulting in build errors.
> I got around most of these with some manual fixes (adding some
> #define's, to circumvent the auto-detection).
> However, I am now stuck, in mini-x86.c, it seems it expects an int,  
> and
> is receiving a long int.
> You can see that in the output at the bottom of this mail.
> My question here:
> Am I the only one with these issues?
> Am I doing something obviously wrong here?
> Has anyone else been able to build on snow leopard?
> Any ideas?

I was able to build on Snow Leopard.  I followed most of the  
instructions here:


to build the dependencies, then here:


to build from an svn checkout.

The main thing I did change was to first add a few lines to the script  
which sets up my mono dev environment (do this before building any of  
the dependencies):

LDFLAGS="-arch i386"

Things were definitely not happy when trying to build for x86_64, but  
I was more interested in getting something built that I could test  
than in debugging the build on that architecture.

So now I have a mono build that I can use to track down some of these  
various issues.  I wonder if anyone has any tips on debugging mono on  
Mac OS X?  I ended up using gdb from the command line to do a few  
simple tests, but I'll probably try to at least set things up to debug  
with Xcode.

FWIW, the I tracked the first issue mentioned (or my variant of said  
issue) down to a null pointer dereference in mono/io-layer/processes.c  
in the load_modules call.  The call to getsectbynamefromheader is  
return null, and no check is done so a later call crashes.  I haven't  
yet figured out why it returns null under Snow Leopard as I'm not too  
familiar with those APIs.  I'm also brand new to mono development so  
I'm still trying to figure out what the heck I'm doing.

I'm willing to help fix some of these 10.6 issues as long as someone  
can help point me in the right direction when I get lost.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2417 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-osx/attachments/20090911/def81519/attachment-0001.bin 

More information about the Mono-osx mailing list