godot: Cannot compile Godot Mono glue on macOS

Godot version

3.4.4-stable 4.0-dev

System information

Mac M1

Issue description

scons platform=osx arch=arm64 tools=yes module_mono_enabled=yes copy_mono_root=yes mono_glue=no --jobs=$(sysctl -n hw.logicalcpu)

I got error:

ld: warning: ignoring file /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.dylib, missing required architecture arm64 in file /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.dylib (2 slices)
Undefined symbols for architecture arm64:
  "_mono_add_internal_call", referenced from:
      void GDMonoUtils::add_internal_call<_MonoString*>(char const*, _MonoString* (*)()) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      void GDMonoUtils::add_internal_call<_MonoString*, _MonoString*, int, unsigned char>(char const*, void (*)(_MonoString*, _MonoString*, int, unsigned char)) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      void GDMonoUtils::add_internal_call<_MonoString*>(char const*, void (*)(_MonoString*)) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      void GDMonoUtils::add_internal_call<unsigned char, _MonoString*, _MonoString*, int, unsigned char>(char const*, unsigned char (*)(_MonoString*, _MonoString*, int, unsigned char)) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      void GDMonoUtils::add_internal_call<int, _MonoString*, _MonoObject*, _MonoString**>(char const*, int (*)(_MonoString*, _MonoObject*, _MonoString**)) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      void GDMonoUtils::add_internal_call<unsigned int, _MonoObject*, _MonoString*, _MonoString*, _MonoObject*>(char const*, unsigned int (*)(_MonoObject*, _MonoString*, _MonoString*, _MonoObject*)) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      void GDMonoUtils::add_internal_call<_MonoString*, _MonoString*>(char const*, _MonoString* (*)(_MonoString*)) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      ...
  "_mono_array_addr_with_size", referenced from:
      CSharpLanguage::stack_trace_get_info(_MonoObject*) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoMethod::invoke(_MonoObject*, Variant const**, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMarshal::Array_to_mono_array(Array const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolByteArray_to_mono_array(PoolVector<unsigned char> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolIntArray_to_mono_array(PoolVector<int> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolRealArray_to_mono_array(PoolVector<float> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolStringArray_to_mono_array(PoolVector<String> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      ...
  "_mono_array_length", referenced from:
      CSharpLanguage::stack_trace_get_info(_MonoObject*) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoMarshal::mono_array_to_Array(_MonoArray*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_array_to_PoolByteArray(_MonoArray*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_array_to_PoolIntArray(_MonoArray*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_array_to_PoolRealArray(_MonoArray*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_array_to_PoolStringArray(_MonoArray*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_array_to_PoolVector2Array(_MonoArray*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      ...
  "_mono_array_new", referenced from:
      GDMonoMethod::invoke(_MonoObject*, Variant const**, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMarshal::Array_to_mono_array(Array const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolByteArray_to_mono_array(PoolVector<unsigned char> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolIntArray_to_mono_array(PoolVector<int> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolRealArray_to_mono_array(PoolVector<float> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolStringArray_to_mono_array(PoolVector<String> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolVector2Array_to_mono_array(PoolVector<Vector2> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      ...
  "_mono_assembly_get_assemblyref", referenced from:
      GodotSharpExport::get_assembly_dependencies(GDMonoAssembly*, _MonoAssemblyName*, Vector<String> const&, Dictionary&) in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_assembly_get_image", referenced from:
      GDMonoAssembly::assembly_load_hook(_MonoAssembly*, void*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_get_name", referenced from:
      GDMonoAssembly::assembly_load_hook(_MonoAssembly*, void*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_getrootdir", referenced from:
      GDMono::determine_mono_dirs(String&, String&) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMonoAssembly::fill_search_dirs(Vector<String>&, String const&, String const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_invoke_search_hook", referenced from:
      GDMonoAssembly::load(String const&, _MonoAssemblyName*, bool, Vector<String> const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoAssembly::load_from(String const&, String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_load_from_full", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_name_free", referenced from:
      GDMono::load_assembly(String const&, GDMonoAssembly**, bool) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMonoAssembly::load_from(String const&, String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GodotSharpExport::new_mono_assembly_name() in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_assembly_name_get_name", referenced from:
      GDMonoAssembly::assembly_load_hook(_MonoAssembly*, void*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoAssembly::_search_hook(_MonoAssemblyName*, void*, bool) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoAssembly::_preload_hook(_MonoAssemblyName*, char**, void*, bool) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_name_get_version", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_assembly_name_new", referenced from:
      GDMono::load_assembly(String const&, GDMonoAssembly**, bool) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMonoAssembly::load_from(String const&, String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GodotSharpExport::new_mono_assembly_name() in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_assembly_set_main", referenced from:
      GDMono::_load_project_assembly() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_class_enum_basetype", referenced from:
      CSharpScript::_try_get_member_export_hint(IMonoClassMember*, ManagedType, Variant::Type, bool, PropertyHint&, String&) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoField::set_value_from_variant(_MonoObject*, Variant const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_class_from_mono_type", referenced from:
      godot_icall_Internal_GetScriptsMetadataOrNothing(_MonoReflectionType*) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      GDMonoField::GDMonoField(_MonoClassField*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Dictionary const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::_update_signature(_MonoMethodSignature*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoProperty::GDMonoProperty(_MonoProperty*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      ...
  "_mono_class_from_name", referenced from:
      GDMonoAssembly::get_class(StringName const&, StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoInternals::gd_unhandled_exception_event(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_internals.osx.tools.arm64.o)
  "_mono_class_get", referenced from:
      GDMonoAssembly::get_object_derived_class(StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_class_get_element_class", referenced from:
      GDMonoMarshal::managed_to_variant_type(ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::try_get_array_element_type(ManagedType const&, ManagedType&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_class_get_field_from_name", referenced from:
      GDMonoClass::get_field(StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_get_fields", referenced from:
      GDMonoClass::get_enum_fields() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoClass::get_all_fields() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_get_flags", referenced from:
      GDMonoClass::get_flags() const in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_get_image", referenced from:
      GDMono::get_class(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_class_get_method_from_name", referenced from:
      GDMonoClass::get_method(StringName const&, int) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoInternals::gd_unhandled_exception_event(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_internals.osx.tools.arm64.o)
  "_mono_class_get_methods", referenced from:
      GDMonoClass::fetch_methods_with_godot_api_checks(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoClass::get_all_methods() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Dictionary const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_class_get_name", referenced from:
      GDMonoClass::get_all_delegates() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoAssembly::get_class(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_class_get_namespace", referenced from:
      GDMonoClass::get_all_delegates() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoAssembly::get_class(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_class_get_nested_types", referenced from:
      GDMonoClass::get_all_delegates() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoAssembly::get_object_derived_class(StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_class_get_nesting_type", referenced from:
      GDMonoClass::get_nesting_class() const in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_get_parent", referenced from:
      GDMonoClass::get_parent_class() const in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_get_properties", referenced from:
      GDMonoClass::get_all_properties() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_get_property_from_name", referenced from:
      GDMonoClass::get_property(StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoUtils::get_exception_name_and_message(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::set_exception_message(_MonoException*, String) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_class_get_type", referenced from:
      GDMonoClass::get_mono_type(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoUtils::get_exception_name_and_message(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_class_implements_interface", referenced from:
      GDMonoClass::implements_interface(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_is_assignable_from", referenced from:
      GDMonoClass::is_assignable_from(GDMonoClass*) const in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoAssembly::get_object_derived_class(StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_class_is_delegate", referenced from:
      GDMonoClass::get_all_delegates() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_class_is_enum", referenced from:
      CSharpScript::_try_get_member_export_hint(IMonoClassMember*, ManagedType, Variant::Type, bool, PropertyHint&, String&) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoClass::get_enum_fields() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::set_value_from_variant(_MonoObject*, Variant const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMarshal::managed_to_variant_type(ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_object_to_variant_impl(_MonoObject*, ManagedType const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_config_parse", referenced from:
      GDMono::initialize() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_custom_attrs_free", referenced from:
      GDMonoClass::~GDMonoClass() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::~GDMonoField() in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMethod::~GDMonoMethod() in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoProperty::~GDMonoProperty() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_custom_attrs_from_class", referenced from:
      GDMonoClass::fetch_attributes() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_custom_attrs_from_field", referenced from:
      GDMonoField::fetch_attributes() in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
  "_mono_custom_attrs_from_method", referenced from:
      GDMonoMethod::fetch_attributes() in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_custom_attrs_from_property", referenced from:
      GDMonoProperty::fetch_attributes() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_custom_attrs_get_attr", referenced from:
      GDMonoClass::get_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::get_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMethod::get_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoProperty::get_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_custom_attrs_has_attr", referenced from:
      GDMonoClass::has_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::has_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMethod::has_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoProperty::has_attribute(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_debug_init", referenced from:
      (anonymous namespace)::gd_mono_debug_init() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_debug_open_image_from_memory", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_domain_create_appdomain", referenced from:
      GDMonoUtils::create_domain(String const&) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_domain_finalize", referenced from:
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_domain_get", referenced from:
      GDMono::get_loaded_assembly(String const&) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::get_class(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::get_class(StringName const&, StringName const&) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      _GodotSharp::get_domain_id() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      _GodotSharp::is_domain_finalizing_for_unload() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      ...
  "_mono_domain_get_by_id", referenced from:
      _GodotSharp::is_domain_finalizing_for_unload(int) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_domain_get_friendly_name", referenced from:
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_domain_get_id", referenced from:
      GDMono::get_loaded_assembly(String const&) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::get_class(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::get_class(StringName const&, StringName const&) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      _GodotSharp::get_domain_id() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      _GodotSharp::get_scripts_domain_id() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      ...
  "_mono_domain_is_unloading", referenced from:
      _GodotSharp::is_domain_finalizing_for_unload(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_domain_set", referenced from:
      GDMono::_load_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      gdmono::ScopeDomain::ScopeDomain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      gdmono::ScopeDomain::~ScopeDomain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      gdmono::ScopeDomain::ScopeDomain(_MonoDomain*) in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
      gdmono::ScopeDomain::~ScopeDomain() in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
      ...
  "_mono_domain_set_config", referenced from:
      GDMonoUtils::create_domain(String const&) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_domain_try_unload", referenced from:
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_environment_exitcode_get", referenced from:
      GDMono::unhandled_exception_hook(_MonoObject*, void*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_error_cleanup", referenced from:
      GDMonoMarshal::mono_to_utf8_string(_MonoString*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_error_get_message", referenced from:
      GDMonoMarshal::mono_to_utf8_string(_MonoString*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_error_ok", referenced from:
      GDMonoMarshal::mono_to_utf8_string(_MonoString*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_field_get_flags", referenced from:
      GDMonoClass::get_enum_fields() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::is_static() in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoField::get_visibility() in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
  "_mono_field_get_name", referenced from:
      CSharpScript::_try_get_member_export_hint(IMonoClassMember*, ManagedType, Variant::Type, bool, PropertyHint&, String&) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoClass::get_all_fields() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::GDMonoField(_MonoClassField*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
  "_mono_field_get_type", referenced from:
      GDMonoField::GDMonoField(_MonoClassField*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
  "_mono_field_get_value_object", referenced from:
      CSharpScript::_try_get_member_export_hint(IMonoClassMember*, ManagedType, Variant::Type, bool, PropertyHint&, String&) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoField::get_value(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
  "_mono_field_set_value", referenced from:
      GDMonoField::set_value_raw(_MonoObject*, void*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoField::set_value_from_variant(_MonoObject*, Variant const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
  "_mono_free", referenced from:
      GDMono::initialize() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::load_assembly(String const&, GDMonoAssembly**, bool) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMonoUtils::get_exception_name_and_message(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::get_full_name(bool) const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_full_name_no_class() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_ret_type_full_name() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_signature_desc(bool) const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      ...
  "_mono_gc_collect", referenced from:
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_gc_max_generation", referenced from:
      GDMono::_unload_scripts_domain() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::finalize_and_unload_domain(_MonoDomain*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_gc_wbarrier_set_arrayref", referenced from:
      GDMonoMethod::invoke(_MonoObject*, Variant const**, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMarshal::Array_to_mono_array(Array const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::PoolStringArray_to_mono_array(PoolVector<String> const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::Array_to_mono_array(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoProperty::set_value(_MonoObject*, _MonoObject*, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_gchandle_free", referenced from:
      MonoGCHandle::free_handle(unsigned int) in libmodules.osx.tools.arm64.a(mono_gc_handle.osx.tools.arm64.o)
  "_mono_gchandle_get_target", referenced from:
      MonoGCHandle::get_target() const in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      MonoGCHandle::get_target() const in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_gchandle_new", referenced from:
      MonoGCHandle::new_strong_handle(_MonoObject*) in libmodules.osx.tools.arm64.a(mono_gc_handle.osx.tools.arm64.o)
      MonoGCHandle::new_strong_handle_pinned(_MonoObject*) in libmodules.osx.tools.arm64.a(mono_gc_handle.osx.tools.arm64.o)
  "_mono_gchandle_new_weakref", referenced from:
      MonoGCHandle::new_weak_handle(_MonoObject*) in libmodules.osx.tools.arm64.a(mono_gc_handle.osx.tools.arm64.o)
  "_mono_get_boolean_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_byte_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_config_dir", referenced from:
      GDMono::determine_mono_dirs(String&, String&) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_get_double_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_exception_class", referenced from:
      GDMonoUtils::debug_send_unhandled_exception_error(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_get_int16_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_int32_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_int64_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_intptr_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_object_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_root_domain", referenced from:
      GDMonoUtils::attach_current_thread() in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_get_runtime_build_info", referenced from:
      GDMono::initialize() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_get_sbyte_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_single_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_string_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_uint16_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_uint32_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_get_uint64_class", referenced from:
      GDMonoCache::update_corlib_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
  "_mono_image_close", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_image_get_assembly", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_image_get_filename", referenced from:
      GDMonoAssembly::assembly_load_hook(_MonoAssembly*, void*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GDMonoAssembly::get_path() const in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_image_get_table_info", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GodotSharpExport::get_assemblyref_name(_MonoImage*, int) in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_image_get_table_rows", referenced from:
      GDMonoAssembly::get_object_derived_class(StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GodotSharpExport::get_assembly_dependencies(GDMonoAssembly*, _MonoAssemblyName*, Vector<String> const&, Dictionary&) in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_image_open_from_data_with_name", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_install_assembly_load_hook", referenced from:
      GDMonoAssembly::initialize() in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_install_assembly_preload_hook", referenced from:
      GDMonoAssembly::initialize() in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_install_assembly_refonly_preload_hook", referenced from:
      GDMonoAssembly::initialize() in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_install_assembly_refonly_search_hook", referenced from:
      GDMonoAssembly::initialize() in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_install_assembly_search_hook", referenced from:
      GDMonoAssembly::initialize() in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_install_unhandled_exception_hook", referenced from:
      GDMono::initialize() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_jit_cleanup", referenced from:
      GDMono::~GDMono() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_jit_init_version", referenced from:
      (anonymous namespace)::gd_initialize_mono_runtime() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_jit_parse_options", referenced from:
      (anonymous namespace)::gd_mono_debug_init() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_metadata_decode_row", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
      GodotSharpExport::get_assemblyref_name(_MonoImage*, int) in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_metadata_string_heap", referenced from:
      GodotSharpExport::get_assemblyref_name(_MonoImage*, int) in libmodules.osx.tools.arm64.a(godotsharp_export.osx.tools.arm64.o)
  "_mono_method_desc_free", referenced from:
      GDMonoClass::get_method_with_desc(String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_method_desc_new", referenced from:
      GDMonoClass::get_method_with_desc(String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_method_desc_search_in_class", referenced from:
      GDMonoClass::get_method_with_desc(String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
  "_mono_method_full_name", referenced from:
      GDMonoMethod::get_full_name(bool) const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_method_get_class", referenced from:
      GDMonoClass::get_method_with_desc(String const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoMethod::get_enclosing_class() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_method_get_flags", referenced from:
      GDMonoClass::fetch_methods_with_godot_api_checks(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoMethod::is_static() in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_visibility() in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoProperty::is_static() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::get_visibility() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_method_get_name", referenced from:
      GDMonoClass::fetch_methods_with_godot_api_checks(GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoClass::get_method(_MonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoClass::get_all_methods() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Dictionary const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_method_get_param_names", referenced from:
      GDMonoMethod::get_parameter_names(Vector<StringName>&) const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_method_get_unmanaged_thunk", referenced from:
      GDMonoMethodThunkR<_MonoArray*, _MonoObject*>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoMethodThunk<_MonoObject*>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoMethodThunkR<Array*, _MonoObject*>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoMethodThunkR<Dictionary*, _MonoObject*>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoMethodThunk<_MonoObject*, _MonoArray*>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoMethodThunkR<unsigned char, _MonoReflectionType*>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoMethodThunk<_MonoReflectionType*, _MonoReflectionType**>::set_from_method(GDMonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      ...
  "_mono_method_signature", referenced from:
      GDMonoClass::get_method(_MonoMethod*, StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoClass::get_method(_MonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Dictionary const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::_update_signature() in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_full_name_no_class() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_ret_type_full_name() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      ...
  "_mono_object_get_class", referenced from:
      GDMonoUtils::get_object_class(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::get_exception_name_and_message(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::set_exception_message(_MonoException*, String) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMarshal::system_generic_list_to_Array_variant(_MonoObject*, GDMonoClass*, _MonoReflectionType*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_object_to_variant(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_object_to_variant_string(_MonoObject*, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_object_new", referenced from:
      CSharpLanguage::_editor_init_callback() in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      CSharpLanguage::debug_get_current_stack_info() in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      CSharpInstance::_internal_new_managed() in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      CSharpScript::_update_exports(PlaceHolderScriptInstance*) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      CSharpScript::_create_instance(Variant const**, int, Object*, bool, Variant::CallError&) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMonoCache::update_godot_api_cache() in libmodules.osx.tools.arm64.a(gd_mono_cache.osx.tools.arm64.o)
      GDMonoUtils::create_managed_for_godot_object(GDMonoClass*, StringName const&, Object*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      ...
  "_mono_object_to_string", referenced from:
      GDMonoUtils::object_to_string(_MonoObject*, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_object_unbox", referenced from:
      unsigned long long GDMonoMarshal::unbox<unsigned long long>(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      unsigned int GDMonoMarshal::unbox<unsigned int>(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      unsigned char GDMonoMarshal::unbox<unsigned char>(_MonoObject*) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      Object* GDMonoMarshal::unbox<Object*>(_MonoObject*) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      unsigned char GDMonoMarshal::unbox<unsigned char>(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      int GDMonoMarshal::unbox<int>(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      unsigned char GDMonoMarshal::unbox<unsigned char>(_MonoObject*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      ...
  "_mono_print_unhandled_exception", referenced from:
      GDMonoUtils::print_unhandled_exception(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoInternals::unhandled_exception(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_internals.osx.tools.arm64.o)
  "_mono_profiler_load", referenced from:
      (anonymous namespace)::gd_mono_profiler_init() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_property_get_get_method", referenced from:
      GDMonoProperty::GDMonoProperty(_MonoProperty*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::is_static() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::get_visibility() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::has_getter() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_property_get_name", referenced from:
      GDMonoClass::get_all_properties() in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoProperty::GDMonoProperty(_MonoProperty*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_property_get_set_method", referenced from:
      GDMonoProperty::GDMonoProperty(_MonoProperty*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::is_static() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::get_visibility() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::has_setter() in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
      GDMonoProperty::set_value(_MonoObject*, _MonoObject*, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_property_get_value", referenced from:
      GDMonoUtils::property_get_value(_MonoProperty*, void*, void**, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_property_set_value", referenced from:
      GDMonoUtils::property_set_value(_MonoProperty*, void*, void**, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_reflection_type_get_type", referenced from:
      godot_icall_Internal_GetScriptsMetadataOrNothing(_MonoReflectionType*) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      GDMonoUtils::get_type_desc(_MonoReflectionType*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMarshal::Array_to_system_generic_list(Array const&, GDMonoClass*, _MonoReflectionType*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      ManagedType::from_reftype(_MonoReflectionType*) in libmodules.osx.tools.arm64.a(managed_type.osx.tools.arm64.o)
  "_mono_runtime_invoke", referenced from:
      GDMonoUtils::runtime_invoke(_MonoMethod*, void*, void**, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoInternals::gd_unhandled_exception_event(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_internals.osx.tools.arm64.o)
  "_mono_runtime_invoke_array", referenced from:
      GDMonoUtils::runtime_invoke_array(_MonoMethod*, void*, _MonoArray*, _MonoException**) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_runtime_is_shutting_down", referenced from:
      GDMono::is_runtime_initialized() const in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      _GodotSharp::is_runtime_shutting_down() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
      GDMono::is_runtime_initialized() const in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      GDMono::is_runtime_initialized() const in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMono::is_runtime_initialized() const in libmodules.osx.tools.arm64.a(mono_gc_handle.osx.tools.arm64.o)
  "_mono_runtime_set_main_args", referenced from:
      (anonymous namespace)::gd_mono_setup_runtime_main_args() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_runtime_set_pending_exception", referenced from:
      GDMonoUtils::set_pending_exception(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_set_dirs", referenced from:
      GDMono::initialize() in libmodules.osx.tools.arm64.a(gd_mono.osx.tools.arm64.o)
  "_mono_signature_get_desc", referenced from:
      GDMonoMethod::get_full_name_no_class() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_signature_desc(bool) const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_signature_get_param_count", referenced from:
      GDMonoClass::get_method(_MonoMethod*, StringName const&) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoClass::get_method(_MonoMethod*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Dictionary const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::_update_signature(_MonoMethodSignature*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_signature_get_params", referenced from:
      GDMonoUtils::create_managed_from(Array const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::create_managed_from(Dictionary const&, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::_update_signature(_MonoMethodSignature*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoProperty::GDMonoProperty(_MonoProperty*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_signature_get_return_type", referenced from:
      GDMonoMethod::_update_signature(_MonoMethodSignature*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_full_name_no_class() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_ret_type_full_name() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoProperty::GDMonoProperty(_MonoProperty*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_property.osx.tools.arm64.o)
  "_mono_string_chars", referenced from:
      GDMonoMarshal::mono_to_utf16_string(_MonoString*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_string_length", referenced from:
      GDMonoMarshal::mono_to_utf16_string(_MonoString*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_string_new", referenced from:
      GDMonoMarshal::mono_from_utf8_string(String const&) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      GDMonoMarshal::mono_from_utf8_string(String const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMarshal::mono_from_utf8_string(String const&) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMarshal::mono_from_utf8_string(String const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_string_to_utf8_checked", referenced from:
      GDMonoMarshal::mono_to_utf8_string(_MonoString*) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_table_info_get_rows", referenced from:
      GDMonoAssembly::_real_load_assembly_from(String const&, bool, _MonoAssemblyName*) in libmodules.osx.tools.arm64.a(gd_mono_assembly.osx.tools.arm64.o)
  "_mono_thread_attach", referenced from:
      GDMonoUtils::attach_current_thread() in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_thread_current", referenced from:
      GDMonoUtils::detach_current_thread() in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::get_current_thread() in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_thread_detach", referenced from:
      GDMonoUtils::detach_current_thread() in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::detach_current_thread(_MonoThread*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_thread_set_main", referenced from:
      GDMonoUtils::set_main_thread(_MonoThread*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
  "_mono_trace_set_level_string", referenced from:
      GDMonoLog::initialize() in libmodules.osx.tools.arm64.a(gd_mono_log.osx.tools.arm64.o)
  "_mono_trace_set_log_handler", referenced from:
      GDMonoLog::initialize() in libmodules.osx.tools.arm64.a(gd_mono_log.osx.tools.arm64.o)
  "_mono_type_full_name", referenced from:
      GDMonoUtils::get_type_desc(_MonoType*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoUtils::get_exception_name_and_message(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::get_full_name_no_class() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMethod::get_ret_type_full_name() const in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
  "_mono_type_get_array_type", referenced from:
      GDMonoField::set_value_from_variant(_MonoObject*, Variant const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_object_to_variant_impl(_MonoObject*, ManagedType const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
  "_mono_type_get_object", referenced from:
      GDMonoClass::get_full_name(_MonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_class.osx.tools.arm64.o)
      GDMonoField::set_value_from_variant(_MonoObject*, Variant const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoMarshal::managed_to_variant_type(ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::try_get_array_element_type(ManagedType const&, ManagedType&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::try_get_dictionary_key_value_types(ManagedType const&, ManagedType&, ManagedType&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      GDMonoMarshal::mono_object_to_variant_impl(_MonoObject*, ManagedType const&, bool) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      ...
  "_mono_type_get_type", referenced from:
      CSharpScript::_get_signal(GDMonoClass*, GDMonoClass*, Vector<CSharpScript::Argument>&) in libmodules.osx.tools.arm64.a(csharp_script.osx.tools.arm64.o)
      godot_icall_Internal_GetScriptsMetadataOrNothing(_MonoReflectionType*) in libmodules.osx.tools.arm64.a(editor_internal_calls.osx.tools.arm64.o)
      GDMonoField::set_value_from_variant(_MonoObject*, Variant const&) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoField::GDMonoField(_MonoClassField*, GDMonoClass*) in libmodules.osx.tools.arm64.a(gd_mono_field.osx.tools.arm64.o)
      GDMonoUtils::unbox_enum_value(_MonoObject*, _MonoType*, bool&) in libmodules.osx.tools.arm64.a(gd_mono_utils.osx.tools.arm64.o)
      GDMonoMethod::_update_signature(_MonoMethodSignature*) in libmodules.osx.tools.arm64.a(gd_mono_method.osx.tools.arm64.o)
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
      ...
  "_mono_unhandled_exception", referenced from:
      GDMonoInternals::unhandled_exception(_MonoException*) in libmodules.osx.tools.arm64.a(gd_mono_internals.osx.tools.arm64.o)
  "_mono_value_box", referenced from:
      GDMonoMarshal::variant_to_mono_object(Variant const*, ManagedType const&) in libmodules.osx.tools.arm64.a(gd_mono_marshal.osx.tools.arm64.o)
ld: symbol(s) not found for architecture arm64

Steps to reproduce

See above

Minimal reproduction project

No response

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Comments: 19 (8 by maintainers)

Most upvoted comments

For the reference, to build mono and install it to path/to/install/mono (replace with any suitable location):

git clone https://github.com/mono/mono.git
cd mono
./autogen.sh --host=aarch64-apple-darwin20.0.0 --target=aarch64-apple-darwin20.0.0 --prefix=path/to/install/mono --disable-nls
make
make install

And then add mono_prefix=path/to/install/mono to the Godot build command.

Official builds use mono-6.12.0.158, this works fine. That’s also from the 2020-02 branch which is the Preview branch. I have no idea what the master branch of Mono is since they stopped making releases since merging into dotnet-runtime. The 2020-02 (i.e. 6.12) is the latest “Mono” release branch which they still maintain and where they backported arm64 support, but only from 6.12.0.147 or so.

i use it to compile mono-6.12.0.122 but compile arm64 error:

Stable won’t build on M1, but master should work (I have compiled commit 4b5e2591eb299eb34d60b5217b14c1ad9f11e238 few hours ago, it was fine).