This `-m32` looks like a workaround for an OSX issue, where IIRC the mono packages ship a 32-bit binary. On your average Linux distro (or other Unix) on an amd64 box, mono is built for the "native" architecture, and thus expects a a 64-bit `.so` file.

Even that aside, not many people will have the cross-compilation/multiarch support installed (as you don't often need it). Travis is such an example.