Skip to content

Mono-Native not working on MacOS Catalina #14793

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
xDaKillerx opened this issue Jun 4, 2019 · 19 comments · Fixed by #14820
Closed

Mono-Native not working on MacOS Catalina #14793

xDaKillerx opened this issue Jun 4, 2019 · 19 comments · Fixed by #14820

Comments

@xDaKillerx
Copy link

xDaKillerx commented Jun 4, 2019

Steps to Reproduce

  1. Just run an app . say Sonarr or Radarr

Current Behavior

Opening the app doesnt work and on opening using terminal , results in this error
exception inside UnhandledException handler: (null) assembly:/Library/Frameworks/Mono.framework/Versions/6.5.0/lib/mono/4.5/mscorlib.dll type:TypeInitializationException member:(null)

[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.DllNotFoundException: /Library/Frameworks/Mono.framework/Versions/6.5.0/lib/../lib/libmono-native-compat.dylib assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) Interop+Sys.Stat(byte&,Interop/Sys/FileStatus&)
  at Interop+Sys.Stat (System.ReadOnlySpan`1[T] path, Interop+Sys+FileStatus& output) [0x0001b] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/Interop/Unix/System.Native/Interop.Stat.Span.cs:24 
  at System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo) [0x00007] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/external/corefx/src/System.IO.FileSystem/src/System/IO/FileSystem.Unix.cs:445 
  at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath, Interop+ErrorInfo& errorInfo) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/external/corefx/src/System.IO.FileSystem/src/System/IO/FileSystem.Unix.cs:419 
  at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/external/corefx/src/System.IO.FileSystem/src/System/IO/FileSystem.Unix.cs:414 
  at System.IO.Directory.Exists (System.String path) [0x00019] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/external/corefx/src/System.IO.FileSystem/src/System/IO/Directory.cs:57 
  at System.TermInfoDriver.SearchTerminfo (System.String term) [0x00044] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/mcs/class/corlib/System/TermInfoDriver.cs:130 
  at System.TermInfoDriver..ctor (System.String term) [0x0004b] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/mcs/class/corlib/System/TermInfoDriver.cs:162 
  at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/mcs/class/corlib/System/ConsoleDriver.cs:73 
  at System.ConsoleDriver..cctor () [0x0004d] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/mcs/class/corlib/System/ConsoleDriver.cs:57 
   --- End of inner exception stack trace ---
  at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/mcs/class/corlib/System/Console.cs:137 
  at System.Console..cctor () [0x0007d] in /Users/builder/jenkins/workspace/build-package-osx-mono/master/external/bockbuild/builds/mono-x64/mcs/class/corlib/System/Console.cs:131 
   --- End of inner exception stack trace ---
  at NzbDrone.Common.Instrumentation.GlobalExceptionHandlers.HandleAppDomainException (System.Object sender, System.UnhandledExceptionEventArgs e) [0x0007a] in M:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Common\Instrumentation\GlobalExceptionHandlers.cs:48 

Expected Behavior

successful run

On which platforms did you notice this

[X] macOS
[ ] Linux
[ ] Windows

Version Used:

6 and even on the latest 6.5

Stacktrace

Please paste the stack trace here if available.

hey guys. sorry if i did this wrong . its my first time sharing here.

@baulig baulig changed the title Not working on MacOS Catalina Mono-Native not working on MacOS Catalina Jun 4, 2019
@EgorBo
Copy link
Member

EgorBo commented Jun 4, 2019

Logs for:

csc Program.cs

https://gist.github.com/EgorBo/042f403ee020375cfc5e208e7ed63dec

@lambdageek
Copy link
Member

Seems like they removed a symbol ___gss_c_nt_hostbased_service_oid_desc that libmono-native-compat.dylib depended on:

Mono: DllImport error loading library '/Library/Frameworks/Mono.framework/Versions/6.5.0/lib/../lib/libmono-native-compat.dylib': 'dlopen(/Library/Frameworks/Mono.framework/Versions/6.5.0/lib/../lib/libmono-native-compat.dylib, 9): Symbol not found: ___gss_c_nt_hostbased_service_oid_desc

@EgorBo
Copy link
Member

EgorBo commented Jun 4, 2019

So the problem is clearly somewhere in pal_gssapi.c/pal_gssapi.h and I suspect it's even somewhere in the system GSS.framework (gss_import_name?)

@filipnavara
Copy link
Contributor

filipnavara commented Jun 4, 2019

Yep, it should be related to GSS_C_NT_HOSTBASED_SERVICE as used by gss_import_name. The latest Heimdal source on Apple Open Source web site still has it but unfortunately they didn't publish source for 10.15 yet.

On macOS Mojave the symbol is present here:

nm /System/Library/Frameworks/GSS.framework/GSS | grep gss_c_nt_hostbased_service_oid_desc
0000000000034768 D ___gss_c_nt_hostbased_service_oid_desc

@EgorBo
Copy link
Member

EgorBo commented Jun 5, 2019

The following symbols are missing:

gss_OID_desc __gss_c_nt_user_name_oid_desc;
gss_OID_desc __gss_c_nt_user_name_oid_desc;
gss_OID_desc __gss_krb5_mechanism_oid_desc;
gss_OID_desc __gss_ntlm_mechanism_oid_desc;
gss_OID_desc __gss_spnego_mechanism_oid_desc;
gss_OID_desc __gss_c_nt_hostbased_service_oid_desc;
gss_OID_desc __gss_krb5_nt_principal_name_oid_desc;

(if I add this to pal_gssapi.c -- it will work).

@filipnavara nm returns the same output for me on macos 10.15 + xcode11

PPElite referenced this issue Jun 5, 2019
Was moved in f23f72c and LICENSE should reflect where these embedded dependencies are found.
@filipnavara
Copy link
Contributor

@EgorBo if nm shows the symbol then it almost sounds as if it's trying to link against incorrect GSS library.

@filipnavara
Copy link
Contributor

I was not able to fully track it down, but here is couple of observations:

  • Mono 5.18.1 is not affected since it didn't include the GSS code yet.
  • otool -L /Library/Frameworks/Mono.framework/Versions/6.5.0/lib/../lib/libmono-native-compat.dylib does NOT list a reference to the GSS framework even though it should.
  • On Mojave the GSS framework got loaded by some of the indirect dependencies like libcups.2.dylib which is itself an indirect dependecny of some other library. Later the load of libmono-native-compat.dylib succeeds because it can find the symbols in the libraries that were already loaded.
  • Local builds on macOS Catalina are messed up on my machine. ./configure finds the GSS libraries (HAVE_GSSFW_HEADERS and HAVE_GSS_SPNEGO_MECHANISM are defined in config.h) but ENABLE_GSS doesn't get set to the correct value. (zsh problem with some syntax maybe?)
  • The code for adding the GSS framework reference is

    mono/configure.ac

    Lines 6193 to 6195 in a3de030

    if test x$enable_gss = xyes; then
    mono_native_ldflags="$mono_native_ldflags -framework GSS"
    fi
    . I am unable to test it due to the issue above.

@xDaKillerx
Copy link
Author

@filipnavara yeah confirmed that 5.18.1 works fine with Catalina and the apps ... unfortunately I don't understand the rest :P . Sorry if I can't be more of help ...

@baulig
Copy link
Contributor

baulig commented Jun 5, 2019

Thanks a lot for investigating this.

I believe we're using the header files from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/GSS.framework - is that correct.

Yesterday, I disassembled the libmono-native-compat.a and the symbol comes from _NetSecurityNative_ImportPrincipalName:

_NetSecurityNative_ImportPrincipalName:
     300:       55      pushq   %rbp
     301:       48 89 e5        movq    %rsp, %rbp
     304:       41 57   pushq   %r15
     306:       41 56   pushq   %r14
     308:       41 54   pushq   %r12
     30a:       53      pushq   %rbx
     30b:       48 83 ec 10     subq    $16, %rsp
     30f:       49 89 cf        movq    %rcx, %r15
     312:       41 89 d4        movl    %edx, %r12d
     315:       48 89 f3        movq    %rsi, %rbx
     318:       49 89 fe        movq    %rdi, %r14
     31b:       4d 85 f6        testq   %r14, %r14
     31e:       74 5e   je      94 <_NetSecurityNative_ImportPrincipalName+0x7e>
     320:       48 85 db        testq   %rbx, %rbx
     323:       74 78   je      120 <_NetSecurityNative_ImportPrincipalName+0x9d>
     325:       4d 85 ff        testq   %r15, %r15
     328:       0f 84 8e 00 00 00       je      142 <_NetSecurityNative_ImportPrincipalName+0xbc>
     32e:       49 83 3f 00     cmpq    $0, (%r15)
     332:       0f 85 a3 00 00 00       jne     163 <_NetSecurityNative_ImportPrincipalName+0xdb>
     338:       be 2f 00 00 00  movl    $47, %esi
     33d:       48 89 df        movq    %rbx, %rdi
     340:       e8 00 00 00 00  callq   0 <_NetSecurityNative_ImportPrincipalName+0x45>
                0000000000000341:  X86_64_RELOC_BRANCH  _strchr
     345:       48 85 c0        testq   %rax, %rax
     348:       48 8b 15 00 00 00 00    movq    (%rip), %rdx
                000000000000034b:  X86_64_RELOC_GOT_LOAD        ___gss_krb5_nt_principal_name_oid_desc@GOTPCREL
     34f:       48 0f 44 15 00 00 00 00         cmoveq  (%rip), %rdx
                0000000000000353:  X86_64_RELOC_GOT     ___gss_c_nt_hostbased_service_oid_desc@GOTPCREL
     357:       44 89 e0        movl    %r12d, %eax
     35a:       48 89 45 d0     movq    %rax, -48(%rbp)
     35e:       48 89 5d d8     movq    %rbx, -40(%rbp)
     362:       48 8d 75 d0     leaq    -48(%rbp), %rsi
     366:       4c 89 f7        movq    %r14, %rdi
     369:       4c 89 f9        movq    %r15, %rcx
     36c:       e8 00 00 00 00  callq   0 <_NetSecurityNative_ImportPrincipalName+0x71>
                000000000000036d:  X86_64_RELOC_BRANCH  _gss_import_name
     371:       48 83 c4 10     addq    $16, %rsp
     375:       5b      popq    %rbx
     376:       41 5c   popq    %r12
     378:       41 5e   popq    %r14
     37a:       41 5f   popq    %r15
     37c:       5d      popq    %rbp
     37d:       c3      retq

The source code for this is in src/Native/Unix/System.Net.Security.Native/pal_gssapi.c and it's using the macros

    if (strchr(inputName, '/') != NULL)
    {
        nameType = GSS_KRB5_NT_PRINCIPAL_NAME;
    }
    else
    {
        nameType = GSS_C_NT_HOSTBASED_SERVICE;
    }

These are defined in /Applications/Xcode.app/Contents//Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/GSS.framework/Versions/A/Headers/gssapi_oid.h.

@baulig
Copy link
Contributor

baulig commented Jun 5, 2019

I can confirm that otool -L does not include GSS:

$ otool -L /Library/Frameworks/Mono.framework/Versions/Current/lib//libmono-native-compat.0.dylib
/Library/Frameworks/Mono.framework/Versions/Current/lib//libmono-native-compat.0.dylib:
	/Library/Frameworks/Mono.framework/Versions/6.0.0/lib/libmono-native-compat.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)

Wouldn't linking with -framework GSS do that? I'm trying to understand whether

  1. We are building the library incorrectly.
  2. Apple broke something by removing a symbol that was used by a macro in one of their framework header files.
  3. How to provide a safe upgrade path for our users.

@filipnavara
Copy link
Contributor

Wouldn't linking with -framework GSS do that?

It should.

We are building the library incorrectly.

Most likely it is built incorrectly. I verified that for other .dylib files otool properly reports the GSS framework reference. Unfortunately I was not able to fix my local builds to find out where the problem comes from.

@EgorBo
Copy link
Member

EgorBo commented Jun 5, 2019

@filipnavara @baulig I'll add -framework GSS for macOS build (currently in confugure.ac it's defined only for iOS) in #14820

akoeplinger pushed a commit that referenced this issue Jun 5, 2019
1) CC_MD5_Init, CC_MD5_Update and CC_MD5_Final are deprecated.

```c
mono-md5.c:45:2: error: 'CC_MD5_Init' is deprecated: first deprecated in macOS 10.15 - This function is
      cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256
      (or stronger). [-Werror,-Wdeprecated-declarations]
        CC_MD5_Init (ctx);
        ^
```

2) objc_msgSend is deprecated
```
mono-threads-mach-helper.c:95:17: error: too many arguments to function call, expected 0, have 2
                objc_msgSend (value, release);
                ~~~~~~~~~~~~  ^~~~~~~~~~~~~~
```
XCode has a special switch `Enable Strict Checking of objc_msgSend Calls` which is now `true` by default. It's fixed by `-DOBJC_OLD_DISPATCH_PROTOTYPES=1` flag to clang or the corresponding define in the source file.

3) Fixes #14793

It worked on pre 10.15 without `-framework GSS`, because it got pulled in through the dependencies. You can see it by running DYLD_PRINT_LIBRARIES=1 csharp and then trace it back. On Mojave /System/Library/Frameworks/GSS.framework/Versions/A/GSS got loaded as dependency of /usr/lib/libcups.2.dylib and so on. Unlike Windows, macOS will resolve the symbols to whatever is already available so it was just happy that someone loaded GSS before libmono-native[-compat/-unified].
akoeplinger pushed a commit that referenced this issue Jun 5, 2019
1) CC_MD5_Init, CC_MD5_Update and CC_MD5_Final are deprecated.

```c
mono-md5.c:45:2: error: 'CC_MD5_Init' is deprecated: first deprecated in macOS 10.15 - This function is
      cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256
      (or stronger). [-Werror,-Wdeprecated-declarations]
        CC_MD5_Init (ctx);
        ^
```

2) objc_msgSend is deprecated
```
mono-threads-mach-helper.c:95:17: error: too many arguments to function call, expected 0, have 2
                objc_msgSend (value, release);
                ~~~~~~~~~~~~  ^~~~~~~~~~~~~~
```
XCode has a special switch `Enable Strict Checking of objc_msgSend Calls` which is now `true` by default. It's fixed by `-DOBJC_OLD_DISPATCH_PROTOTYPES=1` flag to clang or the corresponding define in the source file.

3) Fixes #14793

It worked on pre 10.15 without `-framework GSS`, because it got pulled in through the dependencies. You can see it by running DYLD_PRINT_LIBRARIES=1 csharp and then trace it back. On Mojave /System/Library/Frameworks/GSS.framework/Versions/A/GSS got loaded as dependency of /usr/lib/libcups.2.dylib and so on. Unlike Windows, macOS will resolve the symbols to whatever is already available so it was just happy that someone loaded GSS before libmono-native[-compat/-unified].
akoeplinger pushed a commit that referenced this issue Jun 5, 2019
1) CC_MD5_Init, CC_MD5_Update and CC_MD5_Final are deprecated.

```c
mono-md5.c:45:2: error: 'CC_MD5_Init' is deprecated: first deprecated in macOS 10.15 - This function is
      cryptographically broken and should not be used in security contexts. Clients should migrate to SHA256
      (or stronger). [-Werror,-Wdeprecated-declarations]
        CC_MD5_Init (ctx);
        ^
```

2) objc_msgSend is deprecated
```
mono-threads-mach-helper.c:95:17: error: too many arguments to function call, expected 0, have 2
                objc_msgSend (value, release);
                ~~~~~~~~~~~~  ^~~~~~~~~~~~~~
```
XCode has a special switch `Enable Strict Checking of objc_msgSend Calls` which is now `true` by default. It's fixed by `-DOBJC_OLD_DISPATCH_PROTOTYPES=1` flag to clang or the corresponding define in the source file.

3) Fixes #14793

It worked on pre 10.15 without `-framework GSS`, because it got pulled in through the dependencies. You can see it by running DYLD_PRINT_LIBRARIES=1 csharp and then trace it back. On Mojave /System/Library/Frameworks/GSS.framework/Versions/A/GSS got loaded as dependency of /usr/lib/libcups.2.dylib and so on. Unlike Windows, macOS will resolve the symbols to whatever is already available so it was just happy that someone loaded GSS before libmono-native[-compat/-unified].
@xDaKillerx
Copy link
Author

oh also. just noticed that it seems like the apps cant see the files i have . like it can see the folders etc but they cant see any files. i think its because of the new MacOS changes that gave specific permissions for apps to access storage etc. tried giving both apps "Full Disk Access" on Privacy tab on System Preferences but no go. i think its because its using Mono to run those apps. i even tried giving the library, exec full disk access. but still no go, any suggestions? Thanks !!

@EgorBo
Copy link
Member

EgorBo commented Jun 24, 2019

@xDaKillerx can you share a repro or more details about that? what folder are you scanning in your mono app and what API you are using?

@xDaKillerx
Copy link
Author

@EgorBo sorry for the late response. The folder is on Desktop. I don't really know what's my API. I don't really understand these stuff. Sorry. But it is like that on both Sonarr and Radarr . Tried giving mono or the .app (for both apps) full disk permissions and still no go.

@formerandroider
Copy link

formerandroider commented Jul 26, 2019

@EgorBo there's some discussion in this thread, though it is unrelated to this report.

Essentially, Mono apps run as a packaged .app bundle can't access secure directories anymore (they get a permission denied error).

jonpryor pushed a commit to dotnet/android that referenced this issue Sep 6, 2019
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298

	$ git diff --shortstat 2c3aeaf3..29b1ac19
	 1528 files changed, 45421 insertions(+), 21967 deletions(-)

Changes: mono/api-doc-tools@d03e819...5da8127

	$ git diff --shortstat d03e8198..5da8127a
	 1001 files changed, 86168 insertions(+), 11863 deletions(-)

Changes: mono/api-snapshot@e09042d...1ca8e82

	$ git diff --shortstat e09042da..1ca8e82f
        28 files changed, 612 insertions(+), 217 deletions(-)

Changes: dotnet/cecil@a6c8f5e...cb6c1ca

	$ git diff --shortstat a6c8f5e1..cb6c1ca9
	 13 files changed, 233 insertions(+), 88 deletions(-)

Changes: mono/corefx@4806207...470e0e1

	$ git diff --shortstat 4806207f...470e0e10
	 4 files changed, 31 insertions(+), 12 deletions(-)

Changes: dotnet/linker@ebe2a1f...1f87de3

	$ git diff --shortstat ebe2a1f4...1f87de35
        90 files changed, 3219 insertions(+), 1224 deletions(-)

Changes: dotnet/java-interop@befdbc0...be6048e

	$ git diff --shortstat befdbc03...be6048ed
        3 files changed, 3 insertions(+), 3 deletions(-)

Upstream-Fixes: https://bugs.winehq.org/show_bug.cgi?id=47561
Upstream-Fixes: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25071
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25242
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25632
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25709
Upstream-Fixes: https://github.com/dotnet/corefx/issues/37955
Upstream-Fixes: https://github.com/dotnet/corefx/issues/38455
Upstream-Fixes: mono/mono#7377
Upstream-Fixes: mono/mono#8747
Upstream-Fixes: mono/mono#9621
Upstream-Fixes: mono/mono#9664
Upstream-Fixes: mono/mono#9706
Upstream-Fixes: mono/mono#10201
Upstream-Fixes: mono/mono#10645
Upstream-Fixes: mono/mono#10748
Upstream-Fixes: mono/mono#10848
Upstream-Fixes: mono/mono#12141
Upstream-Fixes: mono/mono#13311
Upstream-Fixes: mono/mono#13408
Upstream-Fixes: mono/mono#13412
Upstream-Fixes: mono/mono#13891
Upstream-Fixes: mono/mono#13923
Upstream-Fixes: mono/mono#13945
Upstream-Fixes: mono/mono#14170
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14215
Upstream-Fixes: mono/mono#14243
Upstream-Fixes: mono/mono#14377
Upstream-Fixes: mono/mono#14495
Upstream-Fixes: mono/mono#14555
Upstream-Fixes: mono/mono#14724
Upstream-Fixes: mono/mono#14729
Upstream-Fixes: mono/mono#14772
Upstream-Fixes: mono/mono#14792
Upstream-Fixes: mono/mono#14793
Upstream-Fixes: mono/mono#14809
Upstream-Fixes: mono/mono#14830
Upstream-Fixes: mono/mono#14839
Upstream-Fixes: mono/mono#14841
Upstream-Fixes: mono/mono#14847
Upstream-Fixes: mono/mono#14864
Upstream-Fixes: mono/mono#14871
Upstream-Fixes: mono/mono#14917
Upstream-Fixes: mono/mono#14945
Upstream-Fixes: mono/mono#14946
Upstream-Fixes: mono/mono#14948
Upstream-Fixes: mono/mono#14957
Upstream-Fixes: mono/mono#14959
Upstream-Fixes: mono/mono#14960
Upstream-Fixes: mono/mono#14961
Upstream-Fixes: mono/mono#14963
Upstream-Fixes: mono/mono#14971
Upstream-Fixes: mono/mono#14972
Upstream-Fixes: mono/mono#14975
Upstream-Fixes: mono/mono#15023
Upstream-Fixes: mono/mono#15048
Upstream-Fixes: mono/mono#15058
Upstream-Fixes: mono/mono#15080
Upstream-Fixes: mono/mono#15182
Upstream-Fixes: mono/mono#15188
Upstream-Fixes: mono/mono#15189
Upstream-Fixes: mono/mono#15261
Upstream-Fixes: mono/mono#15262
Upstream-Fixes: mono/mono#15263
Upstream-Fixes: mono/mono#15265
Upstream-Fixes: mono/mono#15268
Upstream-Fixes: mono/mono#15307
Upstream-Fixes: mono/mono#15324
Upstream-Fixes: mono/mono#15329
Upstream-Fixes: mono/mono#15330
Upstream-Fixes: mono/mono#15441
Upstream-Fixes: mono/mono#15446
Upstream-Fixes: mono/mono#15503
Upstream-Fixes: mono/mono#15541
Upstream-Fixes: mono/mono#15551
Upstream-Fixes: mono/mono#15556
Upstream-Fixes: mono/mono#15596
Upstream-Fixes: mono/mono#15691
Upstream-Fixes: mono/mono#15692
Upstream-Fixes: mono/mono#15740
Upstream-Fixes: mono/mono#15751
Upstream-Fixes: mono/mono#15760
Upstream-Fixes: mono/mono#15781
Upstream-Fixes: mono/mono#15794
Upstream-Fixes: mono/mono#15825
Upstream-Fixes: mono/mono#15853
Upstream-Fixes: mono/mono#15878
Upstream-Fixes: mono/mono#15887
Upstream-Fixes: mono/mono#15990
Upstream-Fixes: mono/mono#16032
Upstream-Fixes: mono/mono#16411
Upstream-Fixes: mono/mono#16486
Upstream-Fixes: https://github.com/mono/mono/issues/25709
Upstream-Fixes: https://github.com/mono/mono/issues/38821
Upstream-Fixes: #3112
Upstream-Fixes: #3168

Update `build-tools/automation/build.groovy` so that it fully cleans
the build tree before starting the build, so that the vestigial mono
submodule (removed in 0c9f83b) is *actually* removed from the build
tree, so that we don't inadvertently use *ancient* submodule contents.
jonpryor pushed a commit to jonpryor/xamarin-android that referenced this issue Sep 6, 2019
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298

	$ git diff --shortstat 2c3aeaf3..29b1ac19
	 1528 files changed, 45421 insertions(+), 21967 deletions(-)

Changes: mono/api-doc-tools@d03e819...5da8127

	$ git diff --shortstat d03e8198..5da8127a
	 1001 files changed, 86168 insertions(+), 11863 deletions(-)

Changes: mono/api-snapshot@e09042d...1ca8e82

	$ git diff --shortstat e09042da..1ca8e82f
        28 files changed, 612 insertions(+), 217 deletions(-)

Changes: dotnet/cecil@a6c8f5e...cb6c1ca

	$ git diff --shortstat a6c8f5e1..cb6c1ca9
	 13 files changed, 233 insertions(+), 88 deletions(-)

Changes: mono/corefx@4806207...470e0e1

	$ git diff --shortstat 4806207f...470e0e10
	 4 files changed, 31 insertions(+), 12 deletions(-)

Changes: dotnet/linker@ebe2a1f...1f87de3

	$ git diff --shortstat ebe2a1f4...1f87de35
	 90 files changed, 3219 insertions(+), 1224 deletions(-)

Changes: dotnet/java-interop@75b1189...4fd3539

	$ git diff --shortstat 75b11891...4fd35393
	 34 files changed, 448 insertions(+), 52 deletions(-)

Upstream-Fixes: https://bugs.winehq.org/show_bug.cgi?id=47561
Upstream-Fixes: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25071
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25242
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25632
Upstream-Fixes: https://github.com/dotnet/coreclr/issues/25709
Upstream-Fixes: https://github.com/dotnet/corefx/issues/37955
Upstream-Fixes: https://github.com/dotnet/corefx/issues/38455
Upstream-Fixes: mono/mono#7377
Upstream-Fixes: mono/mono#8747
Upstream-Fixes: mono/mono#9621
Upstream-Fixes: mono/mono#9664
Upstream-Fixes: mono/mono#9706
Upstream-Fixes: mono/mono#10201
Upstream-Fixes: mono/mono#10645
Upstream-Fixes: mono/mono#10748
Upstream-Fixes: mono/mono#10848
Upstream-Fixes: mono/mono#12141
Upstream-Fixes: mono/mono#13311
Upstream-Fixes: mono/mono#13408
Upstream-Fixes: mono/mono#13412
Upstream-Fixes: mono/mono#13891
Upstream-Fixes: mono/mono#13923
Upstream-Fixes: mono/mono#13945
Upstream-Fixes: mono/mono#14170
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14214
Upstream-Fixes: mono/mono#14215
Upstream-Fixes: mono/mono#14243
Upstream-Fixes: mono/mono#14377
Upstream-Fixes: mono/mono#14495
Upstream-Fixes: mono/mono#14555
Upstream-Fixes: mono/mono#14724
Upstream-Fixes: mono/mono#14729
Upstream-Fixes: mono/mono#14772
Upstream-Fixes: mono/mono#14792
Upstream-Fixes: mono/mono#14793
Upstream-Fixes: mono/mono#14809
Upstream-Fixes: mono/mono#14830
Upstream-Fixes: mono/mono#14839
Upstream-Fixes: mono/mono#14841
Upstream-Fixes: mono/mono#14847
Upstream-Fixes: mono/mono#14864
Upstream-Fixes: mono/mono#14871
Upstream-Fixes: mono/mono#14917
Upstream-Fixes: mono/mono#14945
Upstream-Fixes: mono/mono#14946
Upstream-Fixes: mono/mono#14948
Upstream-Fixes: mono/mono#14957
Upstream-Fixes: mono/mono#14959
Upstream-Fixes: mono/mono#14960
Upstream-Fixes: mono/mono#14961
Upstream-Fixes: mono/mono#14963
Upstream-Fixes: mono/mono#14971
Upstream-Fixes: mono/mono#14972
Upstream-Fixes: mono/mono#14975
Upstream-Fixes: mono/mono#15023
Upstream-Fixes: mono/mono#15048
Upstream-Fixes: mono/mono#15058
Upstream-Fixes: mono/mono#15080
Upstream-Fixes: mono/mono#15182
Upstream-Fixes: mono/mono#15188
Upstream-Fixes: mono/mono#15189
Upstream-Fixes: mono/mono#15261
Upstream-Fixes: mono/mono#15262
Upstream-Fixes: mono/mono#15263
Upstream-Fixes: mono/mono#15265
Upstream-Fixes: mono/mono#15268
Upstream-Fixes: mono/mono#15307
Upstream-Fixes: mono/mono#15324
Upstream-Fixes: mono/mono#15329
Upstream-Fixes: mono/mono#15330
Upstream-Fixes: mono/mono#15441
Upstream-Fixes: mono/mono#15446
Upstream-Fixes: mono/mono#15503
Upstream-Fixes: mono/mono#15541
Upstream-Fixes: mono/mono#15551
Upstream-Fixes: mono/mono#15556
Upstream-Fixes: mono/mono#15596
Upstream-Fixes: mono/mono#15691
Upstream-Fixes: mono/mono#15692
Upstream-Fixes: mono/mono#15740
Upstream-Fixes: mono/mono#15751
Upstream-Fixes: mono/mono#15760
Upstream-Fixes: mono/mono#15781
Upstream-Fixes: mono/mono#15794
Upstream-Fixes: mono/mono#15825
Upstream-Fixes: mono/mono#15853
Upstream-Fixes: mono/mono#15878
Upstream-Fixes: mono/mono#15887
Upstream-Fixes: mono/mono#15990
Upstream-Fixes: mono/mono#16032
Upstream-Fixes: mono/mono#16411
Upstream-Fixes: mono/mono#16486
Upstream-Fixes: https://github.com/mono/mono/issues/25709
Upstream-Fixes: https://github.com/mono/mono/issues/38821
Upstream-Fixes: dotnet#3112
Upstream-Fixes: dotnet#3168

Update `build-tools/automation/build.groovy` so that it fully cleans
the build tree before starting the build, so that the vestigial mono
submodule (removed in 0c9f83b) is *actually* removed from the build
tree, so that we don't inadvertently use *ancient* submodule contents.
jonpryor added a commit to dotnet/android that referenced this issue Sep 7, 2019
Changes: http://github.com/mono/mono/compare/2c3aeaf3780de7392a0d3cbe4dcf86846eb4dffa...29b1ac19c961b959a09097dbc0fe4cd567cc5298

	$ git diff --shortstat 2c3aeaf3..29b1ac19
	 1528 files changed, 45421 insertions(+), 21967 deletions(-)

Changes: mono/api-doc-tools@d03e819...5da8127

	$ git diff --shortstat d03e8198..5da8127a
	 1001 files changed, 86168 insertions(+), 11863 deletions(-)

Changes: mono/api-snapshot@e09042d...1ca8e82

	$ git diff --shortstat e09042da..1ca8e82f
        28 files changed, 612 insertions(+), 217 deletions(-)

Changes: dotnet/cecil@a6c8f5e...cb6c1ca

	$ git diff --shortstat a6c8f5e1..cb6c1ca9
	 13 files changed, 233 insertions(+), 88 deletions(-)

Changes: mono/corefx@4806207...470e0e1

	$ git diff --shortstat 4806207f...470e0e10
	 4 files changed, 31 insertions(+), 12 deletions(-)

Changes: dotnet/linker@ebe2a1f...1f87de3

	$ git diff --shortstat ebe2a1f4...1f87de35
	 90 files changed, 3219 insertions(+), 1224 deletions(-)

Changes: dotnet/java-interop@75b1189...4fd3539

	$ git diff --shortstat 75b11891...4fd35393
	 34 files changed, 448 insertions(+), 52 deletions(-)

Fixes: #3112
Fixes: #3168

Context: https://bugs.winehq.org/show_bug.cgi?id=47561
Context: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/967582
Context: https://github.com/dotnet/coreclr/issues/25071
Context: https://github.com/dotnet/coreclr/issues/25242
Context: https://github.com/dotnet/coreclr/issues/25632
Context: https://github.com/dotnet/coreclr/issues/25709
Context: https://github.com/dotnet/corefx/issues/37955
Context: https://github.com/dotnet/corefx/issues/38455
Context: mono/mono#7377
Context: mono/mono#8747
Context: mono/mono#9621
Context: mono/mono#9664
Context: mono/mono#9706
Context: mono/mono#10201
Context: mono/mono#10645
Context: mono/mono#10748
Context: mono/mono#10848
Context: mono/mono#12141
Context: mono/mono#13311
Context: mono/mono#13408
Context: mono/mono#13412
Context: mono/mono#13891
Context: mono/mono#13923
Context: mono/mono#13945
Context: mono/mono#14170
Context: mono/mono#14214
Context: mono/mono#14214
Context: mono/mono#14215
Context: mono/mono#14243
Context: mono/mono#14377
Context: mono/mono#14495
Context: mono/mono#14555
Context: mono/mono#14724
Context: mono/mono#14729
Context: mono/mono#14772
Context: mono/mono#14792
Context: mono/mono#14793
Context: mono/mono#14809
Context: mono/mono#14830
Context: mono/mono#14839
Context: mono/mono#14841
Context: mono/mono#14847
Context: mono/mono#14864
Context: mono/mono#14871
Context: mono/mono#14917
Context: mono/mono#14945
Context: mono/mono#14946
Context: mono/mono#14948
Context: mono/mono#14957
Context: mono/mono#14959
Context: mono/mono#14960
Context: mono/mono#14961
Context: mono/mono#14963
Context: mono/mono#14971
Context: mono/mono#14972
Context: mono/mono#14975
Context: mono/mono#15023
Context: mono/mono#15048
Context: mono/mono#15058
Context: mono/mono#15080
Context: mono/mono#15182
Context: mono/mono#15188
Context: mono/mono#15189
Context: mono/mono#15261
Context: mono/mono#15262
Context: mono/mono#15263
Context: mono/mono#15265
Context: mono/mono#15268
Context: mono/mono#15307
Context: mono/mono#15324
Context: mono/mono#15329
Context: mono/mono#15330
Context: mono/mono#15441
Context: mono/mono#15446
Context: mono/mono#15503
Context: mono/mono#15541
Context: mono/mono#15551
Context: mono/mono#15556
Context: mono/mono#15596
Context: mono/mono#15691
Context: mono/mono#15692
Context: mono/mono#15740
Context: mono/mono#15751
Context: mono/mono#15760
Context: mono/mono#15781
Context: mono/mono#15794
Context: mono/mono#15825
Context: mono/mono#15853
Context: mono/mono#15878
Context: mono/mono#15887
Context: mono/mono#15990
Context: mono/mono#16032
Context: mono/mono#16411
Context: mono/mono#16486
Context: https://github.com/mono/mono/issues/25709
Context: https://github.com/mono/mono/issues/38821

Update `build-tools/automation/build.groovy` so that it fully cleans
the build tree before starting the build, so that the vestigial mono
submodule (removed in 0c9f83b) is *actually* removed from the build
tree, so that we don't inadvertently use *ancient* submodule contents.
@barracuda156
Copy link

@filipnavara @baulig I'll add -framework GSS for macOS build (currently in confugure.ac it's defined only for iOS) in #14820

@EgorBo Unsurprisingly, unconditionally added flag has broken the build, since GSS framework is only available in 10.14+.

@EgorBo
Copy link
Member

EgorBo commented Jun 30, 2024

@filipnavara @baulig I'll add -framework GSS for macOS build (currently in confugure.ac it's defined only for iOS) in #14820

@EgorBo Unsurprisingly, unconditionally added flag has broken the build, since GSS framework is only available in 10.14+.

The last version of .NET to support macos 10.14 is .NET Core 3.0

@barracuda156
Copy link

barracuda156 commented Jun 30, 2024

The last version of .NET to support macos 10.14 is .NET Core 3.0

Given that mono 6.12.x itself compiles on 10.6 (though not yet mcs), I am pretty sure earlier macOS can be supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy