The way I see it, even asking users to install the regular Mono on OS X is too much. Especially because things tend to break with newer/ multiple versions of Mono on Mac.

This solution is perfect for deployment, because we deploy after using mkbundle (= package this mono version in the app). That way, the application is larger, but new/different versions of mono can never break my app, and my application can never break existing mono apps the user might have.

+ I assume that eventually, these patches will be integrated in the official Mono trunk.


- Kenny

On 06 Dec 2009, at 15:43, marc hoffman <> wrote:

Am i the only one who thinks this custom runtime thing is not really acceptable for anyone who wants to - oh, say - *deploy* applications to regular users who can't/won't just patch their Mono install? what's the short-term plan for enabling people to actually ship apps based on Monobjc, and why can't we stick to the unmanaged dylib that can easily be deployed alongside the app, at least until an official Mono is out that contains these patches (if that will ever happen)?

just thinking out loud, here.

On Dec 2, 2009, at 12:15 AM, Laurent Etiemble wrote:


Sorry for the late update, but I had some busy nights trying to find
another work-around for the Snow Leopard crash. The 4.0.436 release of
the Monobjc bridge has brought mixed results regarding the Snow
Leopard crash: some users have reported success while others have
reported nasty crashes.

So, I have resumed my work on the Mono runtime patching to find an
acceptable way to do it (not too hacky so Novell would accept it).
During my tests, I have discover that the conditions of the bug are
already present under Leopard. Why it does not crash seems linked to
the way TSD (Thread Specfic Data) are destroyed. So I have changed my
approach and I have come to a workaround that seems to prevent the

The archive of the patched Mono runtime is available at:

In order to use the archive:
- you need to have a working installation of Mono.
- uncompress the archive in /Library/Frameworks/Mono.framework/ Versions
- relink the Current symlink to the archive (sudo rm Current && sudo
ln -s Current)

Some points about this runtime:
- The runtime is universal. I have made some tests under some
OS/Processor combinations, but I cannot cover all hardware.
- The runtime contains Mono, Visual Basic and NAnt. It does not
contains libgdiplus or any of the third-party packages.
- The runtime contains all what is needed to run mkbundle or the
packaging tasks.
- The runtime also contains other patches: embedded "machine.config"
and "app.config" are now usable.

If you decide to test this runtime, please provide the following:
- hardware/system full version
- kind of application/complexity
- anything that can help in case of crash

Regards, Laurent Etiemble.

Reply via email to