Package: libactiviz.net-cil
-- Forwarded message --
From: Jo Shields direct...@apebox.org
Date: Mon, Mar 18, 2013 at 4:20 PM
Subject: Re: Invalid dependencies (Re: Unhandled Exception:
Mono.CSharp.InternalErrorException)
To: Mathieu Malaterre ma...@debian.org
Cc: debian-...@lists.debian.org
On Mon, 2013-03-18 at 16:08 +0100, Mathieu Malaterre wrote:
On Mon, Mar 18, 2013 at 3:49 PM, Jo Shields direct...@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=0x
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=0x
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 !
$ mono-api-check
a/usr/lib/cli/Kitware.mummy.Runtime-1.0/Kitware.mummy.Runtime.dll
b/usr/lib/cli/Kitware.mummy.Runtime-1.0/Kitware.mummy.Runtime.dll
CLI API Check
Assembly Name: Kitware.mummy.Runtime
Missing Interfaces: 0
Additional Interfaces: 0
The assembly versions do NOT MATCH!
If they are API compatible you MUST generate and install a GAC policy
file!
Seems compatible to me!
This is a pretty basic upstream error - the assembly version should be
treated as an ABI version declaration, not something to bump ad hoc, for
precisely the reasons you've run into. There is no difference between
the version 1.0.2 build revision 599 ABI, and version 1.0.3 build
revision 599 ABI which would require bumping this ABI version. Using GAC
policy is a simple way to work around this kind of stupidity (MySQL's
bindings do the same)
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org