[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Invalid dependencies (Re: Unhandled Exception: Mono.CSharp.InternalErrorException)



On Mon, Mar 18, 2013 at 3:49 PM, Jo Shields <directhex@apebox.org> wrote:
> On Mon, 2013-03-18 at 15:34 +0100, Mathieu Malaterre wrote:
>> Using monodis, I finally found out the issue. libactiviz.net-cil
>> 1:1.0~git20111214-1 on amd64 is build against an older mummy release.
>> Therefore we have:
>>
>> $ monodis --assemblyref /usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
>> [...]
>> 2: Version=1.0.2.599
>>       Name=Kitware.mummy.Runtime
>>       Flags=0x00000000
>>       Public Key:
>>
>>
>> While, if one recompiles+install, we get:
>>
>> $ monodis --assemblyref /usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
>> [...]
>> 2: Version=1.0.3.599
>>       Name=Kitware.mummy.Runtime
>>       Flags=0x00000000
>>       Public Key:
>>
>>
>> So the short solution is to request a binNMU of libactiviz.net-cil.
>> But the long solution would be to have proper dependencies checking.
>>
>> Could some C# gurus let me know if there is anything missing in my
>> activiz.net and/or mummy package to generate proper dependencies (and
>> therefore have a btter long term solution) ?
>>
>> Thanks *very* much !
>
> The first question is "are the two versions ABI-compatible?" - if the
> ABI hasn't actually been broken (i.e. there are no removed methods or
> properties) then you can include a GAC policy file which maps all
> applications looking for the old ABI to the new ABI. For example, apps
> with a moduleref for Mono.Addins 0.2.0.0, 0.3.0.0, 0.4.0.0, or 0.5.0.0
> will still work with our 0.6.0.0 packages, thanks to policy files. The
> command "mono-api-check" can be used to compare two assemblies to see if
> their ABIs are compatible or not; the man page for dh_cligacpolicy shows
> how to write a cligacpolicy file to do policy mapping, if appropriate.
>

$ mono-api-check ./sid/usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
./loc/usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
Error: mono-api-info on ./sid/usr/lib/cli/ActiViz.NET/Kitware.VTK.dll failed!
$ man mono-api-check
No manual entry for mono-api-check
See 'man 7 undocumented' for help when manual pages are not available.

Same goes with .deb package:


$ mono-api-check ./sid/libactiviz.net-cil_1.0~git20111214-1_amd64.deb
./libactiviz.net-cil_1.0~git20111214-1_amd64.deb
Library:		/usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
Error: mono-api-info on
/tmp/mono-api-check-1192-7700/usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
failed!

Any extra information on how to use this tool also very appreciated !

Thanks,


Reply to: