We were discussing something similar with the folks maintaining the linker nowadays. They have fixes in their custom linker steps they used in Xamarin iOS:
https://github.com/xamarin/xamarin-macios/blob/master/tools/linker/MobileMarkStep.cs#L33-L46 https://github.com/xamarin/xamarin-macios/blob/master/tools/linker/MobileSweepStep.cs#L41-L45 That would need to be pulled down to the base linker steps, so might want to give this a try. But yeah, I advise you to file a bug there. Thanks, Jjb On Wed, Oct 19, 2016 at 9:18 AM, Josh Powers <[email protected]> wrote: > Thanks for the response Jb, also, thanks for mono linker :). Any tips on > what kind of work around's I might be able to pull off on the short term? > At the moment I am really just trying to get a list of the common libraries > a project is using to get a rough feel for a "install size" of mono > required for running a particular application. > > Thanks again, and I will go file the bug against the mono project. > > On Wednesday, October 19, 2016 at 8:48:20 AM UTC-7, Jb Evain wrote: >> >> Hello Josh, >> >> This looks like a bug in the mono linker, which is not handling type >> forwarders very well. I suggest you file this bug with the Mono project. >> >> Thanks, >> Jb >> >> >> >> On Tue, Oct 18, 2016 at 10:44 PM, Josh Powers <[email protected]> >> wrote: >> >>> When trying to use mono linker I am gettign the following exception. >>> >>> Fatal error in Mono CIL Linker >>> Mono.Cecil.ResolutionException: Failed to resolve >>> System.ServiceModel.Security.X509CertificateValidationMode >>> at Mono.Cecil.Mixin.CheckedResolve (Mono.Cecil.TypeReference self) >>> [0x00013] in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.GetConstantType >>> (Mono.Cecil.TypeReference constant_type, System.Object constant) [0x000a7] >>> in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.AddConstant >>> (Mono.Cecil.IConstantProvider owner, Mono.Cecil.TypeReference type) >>> [0x00007] in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.AddField (Mono.Cecil.FieldDefinition >>> field) [0x0007e] in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.AddFields (Mono.Cecil.TypeDefinition >>> type) [0x00016] in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.AddType (Mono.Cecil.TypeDefinition >>> type) [0x00098] in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.AddTypeDefs () [0x0001b] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.BuildTypes () [0x00017] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.BuildModule () [0x0008f] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.MetadataBuilder.BuildMetadata () [0x00000] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.ModuleWriter.<BuildMetadata>m__0 >>> (Mono.Cecil.MetadataBuilder builder, Mono.Cecil.MetadataReader _) [0x00000] >>> in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.ModuleDefinition.Read[TItem,TRet] (TItem item, >>> System.Func`3[T1,T2,TResult] read) [0x00018] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.ModuleWriter.BuildMetadata (Mono.Cecil.ModuleDefinition >>> module, Mono.Cecil.MetadataBuilder metadata) [0x00012] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.ModuleWriter.WriteModuleTo (Mono.Cecil.ModuleDefinition >>> module, System.IO.Stream stream, Mono.Cecil.WriterParameters parameters) >>> [0x000c6] in <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.ModuleDefinition.Write (System.IO.Stream stream, >>> Mono.Cecil.WriterParameters parameters) [0x00028] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.ModuleDefinition.Write (System.String fileName, >>> Mono.Cecil.WriterParameters parameters) [0x0000a] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Cecil.AssemblyDefinition.Write (System.String fileName, >>> Mono.Cecil.WriterParameters parameters) [0x00000] in >>> <364321ccd6674266bec9cd4fab3f2d34>:0 >>> at Mono.Linker.Steps.OutputStep.OutputAssembly >>> (Mono.Cecil.AssemblyDefinition assembly) [0x0005d] in >>> <99bfe331766441219531b9d0f7baf4ac>:0 >>> at Mono.Linker.Steps.OutputStep.ProcessAssembly >>> (Mono.Cecil.AssemblyDefinition assembly) [0x00000] in >>> <99bfe331766441219531b9d0f7baf4ac>:0 >>> at Mono.Linker.Steps.BaseStep.Process (Mono.Linker.LinkContext >>> context) [0x0002b] in <99bfe331766441219531b9d0f7baf4ac>:0 >>> at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) >>> [0x00023] in <99bfe331766441219531b9d0f7baf4ac>:0 >>> at Mono.Linker.Driver.Run () [0x003bc] in >>> <99bfe331766441219531b9d0f7baf4ac>:0 >>> at Mono.Linker.Driver.Main (System.String[] args) [0x00019] in >>> <99bfe331766441219531b9d0f7baf4ac>:0 >>> >>> I am not really sure where to go from here, I see in the mono source >>> that the X509CertificateValidationMode type has a TypeForwardedFrom >>> attribute on it and I am wondering if that is related. Any help would be >>> appreciated. >>> >>> -- >>> -- >>> -- >>> mono-cecil >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "mono-cecil" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > -- > -- > mono-cecil > --- > You received this message because you are subscribed to the Google Groups > "mono-cecil" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- -- mono-cecil --- You received this message because you are subscribed to the Google Groups "mono-cecil" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
