Thanks for getting back to me, and apologies for the brief report. More details follow, plus possible causes…
Yes this is Xamarin Mac. The inner exception is:
Unable to find or open library at /System/Library/Frameworks/CoreServices.framework/Frameworks/CFNetwork.framework/CFNetwork
which is interesting because CFNetwork.framework doesn’t exist under CoreServices.framework.
It does exist at /System/Library/Frameworks/CFNetwork.framework.
Here is the stack trace:
at Couchbase.Lite.Support.MacProxy.GetPointer (System.String libPath, System.String symbolName) [0x00015] in C:\Jenkins\workspace\couchbase-lite-net-edition-build\couchbase-lite-net-ee\couchbase-lite-net\src\Couchbase.Lite.Shared\Support\netdesktop\MacProxy.cs:106
at Couchbase.Lite.Support.MacProxy..cctor () [0x00000] in C:\Jenkins\workspace\couchbase-lite-net-edition-build\couchbase-lite-net-ee\couchbase-lite-net\src\Couchbase.Lite.Shared\Support\netdesktop\MacProxy.cs:42
Looking in your source code on GitHub in MacProxy.cs, I see some hard coded paths:
private const string CFNetworkLibrary =
"/System/Library/Frameworks/CoreServices.framework/Frameworks/CFNetwork.framework/CFNetwork";
private const string CoreFoundationLibrary =
"/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
That first path doesn’t match my system.
According to this website (which lists all of the versions of all MacOS APIs), it seems that at 10.6, CFNetwork did live underneath CoreServices.framework, but by 10.10 it was not. CFNetwork now appears directly under /System/Library/Frameworks.
.
If this is all true, then the hard coded path should be /System/Library/Frameworks/CFNetwork.framework....
I don’t know how this works when hardened is off… but it does :-).
And lastly… one more thing that could also be a cause:
Here’s a comment I found:
The hardened runtime requires library validation, which in turn only works for 10.9 and later. I’ve seen problems like this where the library contains no deployment target info, and things go badly from there.
Looking at the libLiteCore.dylib:
$ otool -l libLiteCore.dylib | grep LC_VERSION
$
So there is no deployment target info. That too may or may not be a cause.
Cheers.
Paul.