Skip to content
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

tvOS: Failed linking arm64/libSystem.Reflection.Metadata.dll.dylib #10732

Closed
bruno-garcia opened this issue Feb 26, 2021 · 3 comments
Closed
Labels
iOS Issues affecting Xamarin.iOS support The issue is related to support
Milestone

Comments

@bruno-garcia
Copy link
Contributor

This issue was reported by a user of Sentry.Xamarin and included the repro linked below.
Sentry.Xamarin depends on Sentry which uses System.Reflection.Metadata 5.0.0 (through Ben.Demystifer).

From what I can see System.Reflection.Metadata is has only managed code.
image

Steps to Reproduce

  1. Pull repro https://github.com/dgyesbreghs/sentry.demo
  2. Attempt to compile it

Expected Behavior

Compiles correctly.

Actual Behavior

Failed to compiled with (complete log below)

       "/Users/bruno/temp/sentry.demo/Sentry.Demo/Sentry.Demo.csproj" (build target) (1) ->
       (_CompileToNative target) -> 
         clang : error : linker command failed with exit code 1 (use -v to see invocation)
         MTOUCH : error MT5216: Native linking failed for '/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/mtouch-cache/arm64/libSystem.Reflection.Metadata.dll.dylib'. Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new

Environment

xcodebuild -version
Xcode 12.4
Build version 12D4e
JetBrains Rider 2021.1 EAP 4
Build #RD-211.6085.25, built on February 18, 2021
Rider EAP User
Expiration date: March 20, 2021
Runtime version: 11.0.10+9-b1341.2 x86_64
VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o.
.NET Core 5.0.3
macOS 10.15.7
GC: G1 Young Generation, G1 Old Generation
Memory: 1500M
Cores: 12
Registry: debugger.new.debug.tool.window.view=true, ide.tree.horizontal.default.autoscrolling=false, performance.watcher.sampling.interval.ms=200, ide.borderless.tab.caption.in.title=false, ide.tooltip.showAllSeverities=true, show.diff.preview.as.editor.tab=true, light.edit.file.open.enabled=false, performance.watcher.unresponsive.interval.ms=1000, search.everywhere.settings=true, show.diff.preview.as.editor.tab.with.single.click=true, ea.enable.developers.list=false, parameter.info.max.visible.rows=10, ide.win.file.chooser.native=true, vcs.log.show.diff.preview.as.editor.tab=true, actionSystem.fix.alt.gr=false, search.everywhere.pattern.checking=false, ide.tooltip.initialDelay=0, ide.require.transaction.for.model.changes=false, ide.debug.in.title=true, rdclient.asyncActions=false
Non-Bundled Plugins: com.jetbrains.rider.android (211.6085.25)

dotnet --info

.NET SDK (reflecting any global.json):
 Version:   6.0.100-preview.1.21103.13
 Commit:    b8a03527b2

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.15
 OS Platform: Darwin
 RID:         osx.10.15-x64
 Base Path:   /usr/local/share/dotnet/sdk/6.0.100-preview.1.21103.13/

Host (useful for support):
  Version: 6.0.0-preview.1.21102.12
  Commit:  9b2776d481

.NET SDKs installed:
  2.1.810 [/usr/local/share/dotnet/sdk]
  3.1.402 [/usr/local/share/dotnet/sdk]
  3.1.403 [/usr/local/share/dotnet/sdk]
  3.1.404 [/usr/local/share/dotnet/sdk]
  3.1.405 [/usr/local/share/dotnet/sdk]
  3.1.406 [/usr/local/share/dotnet/sdk]
  5.0.100-rc.1.20452.10 [/usr/local/share/dotnet/sdk]
  5.0.100 [/usr/local/share/dotnet/sdk]
  5.0.101 [/usr/local/share/dotnet/sdk]
  5.0.102 [/usr/local/share/dotnet/sdk]
  5.0.103 [/usr/local/share/dotnet/sdk]
  6.0.100-preview.1.21103.13 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.22 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.22 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.8 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.10 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.0-rc.1.20451.17 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.0-preview.1.21103.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.22 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.23 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.8 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.10 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.0-rc.1.20451.14 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.0-preview.1.21102.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Build Logs

Build started 2021-02-25 9:59:22 PM.
Logging verbosity is set to: Normal.     1>Project "/Users/bruno/temp/sentry.demo/Sentry.Demo/Sentry.Demo.csproj" on node 1 (build target(s)).
     1>_BeforeCoreCompileInterfaceDefinitions:
       Skipping target "_BeforeCoreCompileInterfaceDefinitions" because all output files are up-to-date with respect to the input files.
       _CoreCompileInterfaceDefinitions:
       Skipping target "_CoreCompileInterfaceDefinitions" because all output files are up-to-date with respect to the input files.
       _BeforeCoreCompileImageAssets:
       Skipping target "_BeforeCoreCompileImageAssets" because all output files are up-to-date with respect to the input files.
       _CoreCompileImageAssets:
       Skipping target "_CoreCompileImageAssets" because all output files are up-to-date with respect to the input files.
       _CoreCompileColladaAssets:
       Skipping target "_CoreCompileColladaAssets" because it has no inputs.
       _BeforeCoreCompileSceneKitAssets:
       Skipping target "_BeforeCoreCompileSceneKitAssets" because it has no inputs.
       _BeforeCoreCompileSceneKitAssets:
       Skipping target "_BeforeCoreCompileSceneKitAssets" because it has no inputs.
       _BeforeCoreCompileSceneKitAssets:
       Skipping target "_BeforeCoreCompileSceneKitAssets" because it has no inputs.
       _CoreCompileSceneKitAssets:
       Skipping target "_CoreCompileSceneKitAssets" because it has no inputs.
       _BeforeCompileTextureAtlases:
       Skipping target "_BeforeCompileTextureAtlases" because it has no inputs.
       _BeforeCompileTextureAtlases:
       Skipping target "_BeforeCompileTextureAtlases" because it has no inputs.
       _BeforeCompileTextureAtlases:
       Skipping target "_BeforeCompileTextureAtlases" because it has no inputs.
       _CoreCompileTextureAtlases:
       Skipping target "_CoreCompileTextureAtlases" because it has no inputs.
       _BeforeCompileCoreMLModels:
       Skipping target "_BeforeCompileCoreMLModels" because all output files are up-to-date with respect to the input files.
       _CoreCompileCoreMLModels:
       Skipping target "_CoreCompileCoreMLModels" because all output files are up-to-date with respect to the input files.
       _CoreOptimizePngImages:
       Skipping target "_CoreOptimizePngImages" because it has no outputs.
       _CoreOptimizePropertyLists:
       Skipping target "_CoreOptimizePropertyLists" because it has no inputs.
       _CoreOptimizeLocalizationFiles:
       Skipping target "_CoreOptimizeLocalizationFiles" because it has no inputs.
       ResolveAssemblyReferences:
         No way to resolve conflict between "netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" and "netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Choosing "netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" arbitrarily.
         Consider app.config remapping of assembly "System.Runtime.CompilerServices.Unsafe, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" from Version "4.0.4.1" [] to Version "5.0.0.0" [/Users/bruno/temp/sentry.demo/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll] to solve conflict and get rid of warning.
         Consider app.config remapping of assembly "System.Buffers, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" from Version "4.0.2.0" [] to Version "4.0.99.0" [/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Buffers.dll] to solve conflict and get rid of warning.
         Consider app.config remapping of assembly "netstandard, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" from Version "2.0.0.0" [] to Version "2.1.0.0" [/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/netstandard.dll] to solve conflict and get rid of warning.
     1>/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/Microsoft.Common.CurrentVersion.targets(2101,5): warning MSB3276: Found conflicts between different versions of the same dependent assembly. Please set the "AutoGenerateBindingRedirects" property to true in the project file. For more information, see http://go.microsoft.com/fwlink/?LinkId=294190.
       GenerateTargetFrameworkMonikerAttribute:
       Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
       CoreCompile:
         /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/Roslyn/csc.exe /noconfig /nowarn:2008 /nostdlib+ /platform:x86 /errorreport:prompt /warn:4 /define:__TVOS__;__MOBILE__;__UNIFIED__;DEBUG /errorendlocation /preferreduilang:en-CA /reference:/Users/bruno/temp/sentry.demo/packages/Microsoft.Bcl.AsyncInterfaces.5.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/mscorlib.dll /reference:/Users/bruno/temp/sentry.demo/packages/Sentry.3.0.6/lib/netstandard2.1/Sentry.dll /reference:/Users/bruno/temp/sentry.demo/packages/Sentry.Xamarin.1.0.2/lib/netstandard2.0/Sentry.Xamarin.dll /reference:/Users/bruno/temp/sentry.demo/packages/System.Collections.Immutable.5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/System.Core.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/System.dll /reference:/Users/bruno/temp/sentry.demo/packages/System.Reflection.Metadata.5.0.0/lib/netstandard2.0/System.Reflection.Metadata.dll /reference:/Users/bruno/temp/sentry.demo/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll /reference:/Users/bruno/temp/sentry.demo/packages/System.Text.Encodings.Web.5.0.0/lib/netstandard2.1/System.Text.Encodings.Web.dll /reference:/Users/bruno/temp/sentry.demo/packages/System.Text.Json.5.0.0/lib/netstandard2.0/System.Text.Json.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/System.Xml.dll /reference:/Users/bruno/temp/sentry.demo/packages/Xamarin.Essentials.1.4.0/lib/xamarintvos10/Xamarin.Essentials.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Xamarin.TVOS.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/Microsoft.Win32.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/Microsoft.Win32.Registry.AccessControl.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/Microsoft.Win32.Registry.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/netstandard.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.AppContext.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Buffers.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Collections.Concurrent.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Collections.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Collections.NonGeneric.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Collections.Specialized.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ComponentModel.Annotations.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ComponentModel.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ComponentModel.EventBasedAsync.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ComponentModel.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ComponentModel.TypeConverter.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Console.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Data.Common.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Data.SqlClient.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.Contracts.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.Debug.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.FileVersionInfo.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.Process.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.StackTrace.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.TextWriterTraceListener.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.Tools.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.TraceEvent.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.TraceSource.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Diagnostics.Tracing.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Drawing.Common.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Drawing.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Dynamic.Runtime.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Globalization.Calendars.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Globalization.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Globalization.Extensions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.Compression.ZipFile.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.FileSystem.AccessControl.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.FileSystem.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.FileSystem.DriveInfo.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.FileSystem.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.FileSystem.Watcher.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.IsolatedStorage.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.MemoryMappedFiles.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.Pipes.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.IO.UnmanagedMemoryStream.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Linq.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Linq.Expressions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Linq.Parallel.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Linq.Queryable.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Memory.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.AuthenticationManager.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Cache.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.HttpListener.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Mail.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.NameResolution.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.NetworkInformation.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Ping.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Requests.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Security.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.ServicePoint.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Sockets.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.Utilities.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.WebHeaderCollection.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.WebSockets.Client.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Net.WebSockets.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ObjectModel.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.DispatchProxy.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.Emit.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.Emit.ILGeneration.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.Emit.Lightweight.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.Extensions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Reflection.TypeExtensions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Resources.Reader.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Resources.ReaderWriter.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Resources.ResourceManager.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Resources.Writer.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.CompilerServices.VisualC.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Extensions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Handles.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.InteropServices.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.InteropServices.RuntimeInformation.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.InteropServices.WindowsRuntime.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Loader.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Numerics.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Serialization.Formatters.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Serialization.Json.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Serialization.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Runtime.Serialization.Xml.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.AccessControl.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Claims.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Algorithms.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Cng.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Csp.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.DeriveBytes.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Encoding.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Encryption.Aes.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Encryption.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Encryption.ECDsa.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Hashing.Algorithms.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Hashing.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.OpenSsl.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Pkcs.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.ProtectedData.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.RandomNumberGenerator.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.RSA.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Cryptography.X509Certificates.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Principal.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.Principal.Windows.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Security.SecureString.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ServiceModel.Duplex.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ServiceModel.Http.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ServiceModel.NetTcp.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ServiceModel.Primitives.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ServiceModel.Security.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ServiceProcess.ServiceController.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Text.Encoding.CodePages.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Text.Encoding.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Text.Encoding.Extensions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Text.RegularExpressions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.AccessControl.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.Overlapped.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.Tasks.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.Tasks.Extensions.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.Tasks.Parallel.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.Thread.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.ThreadPool.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Threading.Timer.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.ValueTuple.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.ReaderWriter.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.XDocument.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.XmlDocument.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.XmlSerializer.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.XPath.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.XPath.XDocument.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.XPath.XmlDocument.dll /reference:/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/Xamarin.TVOS/Facades/System.Xml.Xsl.Primitives.dll /debug+ /debug:portable /optimize- /out:obj/iPhone/Debug/Sentry.Demo.exe /target:exe /utf8output /langversion:7.3 Main.cs AppDelegate.cs ViewController.cs ViewController.designer.cs "obj/iPhone/Debug/Xamarin.TVOS,Version=v1.0.AssemblyAttributes.cs"
         Using shared compilation with compiler from directory: /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/Roslyn
       _CopyFilesMarkedCopyLocal:
         Touching "/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug//Sentry.Demo.csproj.CopyComplete".
       CopyFilesToOutputDirectory:
         Copying file from "/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/Sentry.Demo.exe" to "/Users/bruno/temp/sentry.demo/Sentry.Demo/bin/iPhone/Debug/Sentry.Demo.exe".
         Sentry.Demo -> /Users/bruno/temp/sentry.demo/Sentry.Demo/bin/iPhone/Debug/Sentry.Demo.exe
         Copying file from "/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/Sentry.Demo.pdb" to "/Users/bruno/temp/sentry.demo/Sentry.Demo/bin/iPhone/Debug/Sentry.Demo.pdb".
       _DetectSigningIdentity:
         Multiple provisioning profiles match the bundle identifier; using the first match.
                 
           1. Provisioning Profile: "tvOS Team Provisioning Profile: *" (4ba3ff40-b128-4a84-92ad-d946643ad540)
              Signing Identity: "Apple Development: Bruno Garcia (8W8BKNK555)"
           2. Provisioning Profile: "tvOS Team Provisioning Profile: *" (4ba3ff40-b128-4a84-92ad-d946643ad540)
              Signing Identity: "Apple Development: Bruno Garcia (8W8BKNK555)"
         Detected signing identity:
                 
           Code Signing Key: "Apple Development: Bruno Garcia (8W8BKNK555)" (7F8D4423DF4D7B5347BEC1E3293DF8A551FD1894)
           Provisioning Profile: "tvOS Team Provisioning Profile: *" (4ba3ff40-b128-4a84-92ad-d946643ad540)
           Bundle Id: com.companyname.Sentry.Demo
           App Id: 97JCY7859U.com.companyname.Sentry.Demo
       _CopyResourcesToBundle:
       Skipping target "_CopyResourcesToBundle" because all output files are up-to-date with respect to the input files.
       _DetectDebugNetworkConfiguration:
           DebugIPAddresses: 
       _CompileAppManifest:
       Skipping target "_CompileAppManifest" because all output files are up-to-date with respect to the input files.
       _ParseExtraMtouchArgs:
           NoSymbolStrip Output: true
           NoDSymUtil Output: false
       _CompileToNative:
         /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch @/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/response-file.rsp 
         Xamarin.iOS 14.10.0.4 (xcode12.4: 5a05865f6 using framework: /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.3.sdk
         Compilation failed with code 1, command:
         /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -framework Foundation -framework UIKit -Xlinker -rpath -Xlinker @executable_path/ /Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/mtouch-cache/arm64/System.Reflection.Metadata.dll.o /Library/Frameworks/Xamarin.iOS.framework/Versions/14.10.0.4/SDKs/Xamarin.AppleTVOS.sdk/lib/libmonosgen-2.0.dylib /Library/Frameworks/Xamarin.iOS.framework/Versions/14.10.0.4/SDKs/Xamarin.AppleTVOS.sdk/lib/libxamarin-debug.dylib /Library/Frameworks/Xamarin.iOS.framework/Versions/14.10.0.4/SDKs/Xamarin.AppleTVOS.sdk/lib/libmono-native-unified.dylib -lz -liconv -lz -gdwarf-2 -std=c++14 -I/Library/Frameworks/Xamarin.iOS.framework/Versions/14.10.0.4/SDKs/Xamarin.AppleTVOS.sdk/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.3.sdk -Qunused-arguments -mtvos-version-min=14.0 -fembed-bitcode-marker -arch arm64 -shared -lc++ -lz -liconv -install_name @rpath/libSystem.Reflection.Metadata.dll.dylib -fapplication-extension -o /Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/mtouch-cache/arm64/libSystem.Reflection.Metadata.dll.dylib -D DEBUG
         Undefined symbols for architecture arm64:
           "_ReadFile", referenced from:
               wrapper_managed_to_native_Interop_Kernel32_ReadFile_System_Runtime_InteropServices_SafeHandle_byte__int_int__intptr in System.Reflection.Metadata.dll.o
         ld: symbol(s) not found for architecture arm64
     1>clang : error : linker command failed with exit code 1 (use -v to see invocation)
     1>MTOUCH : error MT5216: Native linking failed for '/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/mtouch-cache/arm64/libSystem.Reflection.Metadata.dll.dylib'. Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new
         		
     1>Done Building Project "/Users/bruno/temp/sentry.demo/Sentry.Demo/Sentry.Demo.csproj" (build target(s)) -- FAILED.

Build FAILED.

       "/Users/bruno/temp/sentry.demo/Sentry.Demo/Sentry.Demo.csproj" (build target) (1) ->
       (ResolveAssemblyReferences target) -> 
         /Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/msbuild/Current/bin/Microsoft.Common.CurrentVersion.targets(2101,5): warning MSB3276: Found conflicts between different versions of the same dependent assembly. Please set the "AutoGenerateBindingRedirects" property to true in the project file. For more information, see http://go.microsoft.com/fwlink/?LinkId=294190.


       "/Users/bruno/temp/sentry.demo/Sentry.Demo/Sentry.Demo.csproj" (build target) (1) ->
       (_CompileToNative target) -> 
         clang : error : linker command failed with exit code 1 (use -v to see invocation)
         MTOUCH : error MT5216: Native linking failed for '/Users/bruno/temp/sentry.demo/Sentry.Demo/obj/iPhone/Debug/mtouch-cache/arm64/libSystem.Reflection.Metadata.dll.dylib'. Please file a bug report at https://github.com/xamarin/xamarin-macios/issues/new

    1 Warning(s)
    2 Error(s)

Time Elapsed 00:00:18.96

Example Project (If Possible)

https://github.com/dgyesbreghs/sentry.demo

@rolfbjarne
Copy link
Member

The problem is that the System.Reflection.Metadata.dll has a P/Invoke to a function that doesn't exist on iOS (the Win32 function ReadFile):

     Undefined symbols for architecture arm64:
       "_ReadFile", referenced from:
           wrapper_managed_to_native_Interop_Kernel32_ReadFile_System_Runtime_InteropServices_SafeHandle_byte__int_int__intptr in System.Reflection.Metadata.dll.o

on iOS we usually require that assemblies only have P/Invokes to native functions that exists, because that allows us to create faster and smaller apps.

However, it's possible to turn this off for specific assemblies - in your case adding --dlsym:System.Reflection.Metadata.dll as an additional mtouch argument in the project's iOS Build options (for all device configurations) makes the sample app build successfully.

I'm closing this since it's the expected behavior in this scenario.

@rolfbjarne rolfbjarne added this to the Future milestone Feb 26, 2021
@rolfbjarne rolfbjarne added iOS Issues affecting Xamarin.iOS support The issue is related to support labels Feb 26, 2021
@bruno-garcia
Copy link
Contributor Author

bruno-garcia commented Mar 2, 2021

I'm shipping a library that depends on System.Reflection.Metadata. If I bundle a msbuild targets file, is it possible to add the --dlsym: via a msbuild property?

My hope is that I'll get around this automatically.

@rolfbjarne
Copy link
Member

If I bundle a msbuild targets file, is it possible to add the --dlsym: via a msbuild property?

Maybe, if that targets file is processed after setting MtouchExtraArgs in the csproj.

You'd do something like this:

<PropertyGroup>
    <MtouchExtraArgs>$(MtouchExtraArgs) --dlsym:System.Reflection.Metadata.dll</MtouchExtraArgs>
</PropertyGroup>

@ghost ghost locked as resolved and limited conversation to collaborators Apr 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
iOS Issues affecting Xamarin.iOS support The issue is related to support
Projects
None yet
Development

No branches or pull requests

2 participants