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.

Reply via email to