I was looking for a way to run maperitive, which is a software that allows you to convert OpenStreetMap (OSM) data files in .pbf and .bz2 (that you can find on Geomatrik) to a Mbtiles file format. Mbtiles is a format created by mapbox that allows to stores millions of tiles in a SQLite database, which can be useful if you want to build an OSM solution that will store tiles offline.
Maperitive is a .NET application, that should typically works with mono on Linux and on Mac and will work natively on Windows. However, the author does not provide official support for Mac (installations for Linux are here).
I first downloaded Maperitive (2.3.33 at the time of this writing)
I first tried to install mono with homebrew and then launch the executable maperitive.exe located inside the maperitive directory
However I got this error
System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.KnownColors —> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus —> System.DllNotFoundException: libgdiplus.dylib
However, I got lucky and found a recent solution in this github ticket
First had to install brew cask
brew install caskroom/cask/brew-cask
Installed mono-sdk with brew cask
brew cask install mono-mdk
And then opened the installer to install mono-mdk in OS X
(At the time of this writing, this was Mono 4.0.2, adjust the path from the previous command in consequence)
After that, all I had to do was type
env PATH=/Library/Frameworks/Mono.framework/Commands:$PATH mono Maperitive.exe
And maperitive launched!
I didn’t end up using maperitive (it does everything in RAM and does not scale well if you have a big OSM file), but I thought I might give the solution here.