This happens because of circular dependencies between libmonoruntime/lbiwapi/libmonoutils. The osx linker can handle it, but the linux linker needs --start-group and --end-group flags to the linker to handle this. Unfortunately, its pretty hard to pass these to the linker since libtool has the habbit of reorganizing command line options.

I'd like to propose a fix in https://github.com/mono/mono/pull/1859
This should fix FreeBSD and Linux builds as well - I went ahead to create a so-called "convenience" library that solves the interdependencies between static libraries.