RavenDB on Mono

Published on 2010-12-14

So is it possible?

Yes, it is.

There, that was a short blog entry wasn’t it?

I’ve patched RavenDB in a few places, both to workaround the bug/mismatch between Mono and Microsoft’s implementation of ThreadLocal.Value, dealing with the standard path-based issues and adding a couple of specific checks for Mono in the outer layers of the application (Did you know that Environment.UserInteractive is always false in Mono?)

I’ve submitted the pull request, but if you really want to get RavenDB working on Mono right now, then I suggest you do the following:

MONO_IOMAP=all xbuild /property:DocumentationFile='' /property:TreatWarningsAsErrors='false' RavenDB.sln
This will build RavenDB on Mono, so you don’t need Windows if you haven’t got it.

I’ve tested the following configurations

Some caveats to this

NB: This is unofficial support for Mono, it's a low priority as far as the core project goes, but I am eager to make this work

Thanks and Attribution:

Jérémie Laval (http://twitter.com/#!/jeremie_laval) has been instrumental in moving this forwards with a heap of Mono know-how, the instructions on now to build on Mono have come from him, as have a number of fixes. He is currently working on some other issues with some failing tests too, looks like this ball is going to keep rolling!

This used to ask if you wanted to hire me

But chances are I'm not available, as I'm busy shipping stuff.

Drop me an e-mail anyway, as I like interesting problems.

Get in touch

blog comments powered by Disqus

hrvoje


Thanx for this! Great contribution to both projects. Just what i needed for my next project ;)

Robert


How is the performance of RavenDB running on Linux?

robashton


Acceptable? I haven't done too much stress testing on it so I can't say with too much confidence.

jerome


great work!!!

Nicolas


Some time has passed since your article. Today, do I have to still follow your article or does TavenDB works on Linux/Mono out of the box?

robashton


I don't believe it does, sadly