Re: C-sharp question: Failure adding assembly ... Strong name cannot be verified for delay-signed assembly
On 16/10/15 22:15, Gert Wollny wrote:
> Dear all,
> I'm currently packaging a new version of gdcm , it uses swig 3.0 to
> create the c-sharp bindings and all compiles fine.
> When packaging I get
> debian/libgdcm-cil/usr/lib/cli/gdcm-sharp-2.6/gdcm- sharp.dll
> has no valid signature, ignoring
> Then, when I try to install the *-cli packages the post-install script
> fails with
> * Installing 1 assembly from libgdcm-cil into Mono
> E: installing Assembly /usr/lib/cli/gdcm-sharp-2.6/gdcm-sharp.dll
> E: Installation of libgdcm-cil with
> /usr/share/cli-common/runtimes.d/mono failed
> After some digging I think now that the actual command that is executed
> gacutil -i /usr/lib/cli/gdcm-sharp-2.6/gdcm-sharp.dll
> and it fails with
> Failure adding assembly /usr/lib/cli/gdcm-sharp-2.6/gdcm-sharp.dll to
> the cache: Strong name cannot be verified for delay-signed assembly
This happens if you try to install a library systemwide (with gacutil)
which is not properly signed.
> I notes that in the old version of libgdcm-cil (2.4) there is a file
> clilibs in the deb://DEBIAN/ directory that is missing in my new
> package. I assume that this is some kind of signature. The old package
> also has the same postinst script that installs the package in the gac.
> The old package used mummy/activiz.net to create the c-sharp
> bindings, but it is currently not possible to use this tool, because
> mummy doesn't work with g++>=5, so I'm stuck with using swig. I don't
> know if that has any influence though, because in the end these are
> just tools to create the C# source files.
> Then there is also the problem that the key file
> Wrapping/Csharp/key.snk is without a source.
This file is a cryptographic signing key, source wouldn't be meaningful
for it. The key is provided, because the signature is part of the ABI of
> Now, I am completely new to C#, and this is the first time I touched
> this package, so any hint what I can to do to resolve this?
> My other option is to simply disable the C# bindings (there are no
> revese dependencies).
> The current packaging is done with svn in , the original code for
> the bindings is in Wrapping/Csharp, and I added a patch
> that moves the keyfile from the assembly to the command line. I also
> tried the "delayed sign" option but to no avail (i.e. I'm really flying
> blind here).
What does "sn -T /path/to/gdcm-sharp.dll" report? "sn" is the tool for
looking at and manipulating signatures on C# compiled output, check the
flags with "sn -h sn"