When compiling Mono from source and trying to run an F# executable, the compiled Mono searches for “FSharp.Core.dll” in its installation path; since the assembly is not found, an assertion fails in “mono_class_create_from_typedef”:
g_assert (!mono_loader_get_last_error ())
Rather than crash with a SIGABRT, this should report the assembly that was not found (“mono_loader_get_last_error ()->assembly_name”) and exit gracefully with a failed status. At the moment, if the user wants to find out which assembly failed to load and why, they must run Mono under LLDB and use:
MONO_LOG_LEVEL="debug" MONO_LOG_MASK="asm"