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

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



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 !

On Mon, Mar 18, 2013 at 12:34 PM, Mathieu Malaterre <malat@debian.org> wrote:
> Dear all,
>
>   I can no longer build the C# binding of GDCM. It currently fails
> with [1]. As far as I can tell the compilation line is ok. And the C#
> dll contains the said typedef:
>
> $ monodis --typedef /usr/lib/cli/ActiViz.NET/Kitware.VTK.dll | grep "vtkObject "
> 150: Kitware.VTK.vtkObject (flist=436, mlist=5357, flags=0x1, extends=0x270)
>
> If I compare libactiviz.net-cil 1:1.0~git20111123-6 with
> 1:1.0~git20111214-1, here is what I get:
>
> $ monodis --typedef ./usr/lib/cli/ActiViz.NET/Kitware.VTK.dll | md5sum
> dc9be62b67638fe0c68b293d477adb5c  -
> mathieu@lirispat $ monodis --typedef
> /usr/lib/cli/ActiViz.NET/Kitware.VTK.dll | md5sum
> dc9be62b67638fe0c68b293d477adb5c  -
>
> What else should I be looking at to track down this issue ?
>
> Thanks.
>
> [1]
> [100%] Building C# library 'Kitware.VTK.GDCM'...
> cd /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK
> && /usr/bin/mono-csc
> /out:/home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/bin/./Kitware.VTK.GDCM.dll
> /doc:/home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/bin/./Kitware.VTK.GDCM.xml
> /target:library
> /linkresource:/home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/bin/./libKitware.VTK.vtkgdcm.Unmanaged.so
> /reference:/usr/lib/cli/ActiViz.NET/Kitware.VTK.dll
> /reference:/usr/lib/cli/Kitware.mummy.Runtime-1.0/Kitware.mummy.Runtime.dll
> @/home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/Kitware.VTK.GDCM.CscArgs.txt
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/AssemblyInfo.cs(72,12):
> warning CS1699: Use compiler option `keyfile' or appropriate project
> settings instead of `AssemblyKeyFile' attribute
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkGDCMTesting.cs(23,31):
> error CS0246: The type or namespace name `vtkObject' could not be
> found. Are you missing a using directive or an assembly reference?
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkImageColorViewer.cs(60,36):
> error CS0246: The type or namespace name `vtkObject' could not be
> found. Are you missing a using directive or an assembly reference?
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkRTStructSetProperties.cs(27,41):
> error CS0246: The type or namespace name `vtkObject' could not be
> found. Are you missing a using directive or an assembly reference?
>
> Unhandled Exception: Mono.CSharp.InternalErrorException:
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkGDCMImageReader.cs(65,14):
> Kitware.VTK.GDCM.vtkGDCMImageReader --->
> Mono.CSharp.InternalErrorException:
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkGDCMImageReader.cs(75,28):
> Kitware.VTK.GDCM.vtkGDCMImageReader.MRFullTypeName --->
> Mono.CSharp.InternalErrorException: Could not import type
> `Kitware.VTK.vtkMedicalImageReader2' from `Kitware.VTK,
> Version=5.8.0.607, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
> ---> System.TypeLoadException: Could not load type
> 'Kitware.VTK.vtkMedicalImageReader2' from assembly 'Kitware.VTK,
> Version=5.8.0.607, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
>   at (wrapper managed-to-native) System.MonoType:GetMethodsByName
> (System.MonoType,string,System.Reflection.BindingFlags,bool,System.Type)
>   at System.MonoType.GetMethods (BindingFlags bindingAttr) [0x00000]
> in <filename unknown>:0
>   at System.Type.FindMembers (MemberTypes memberType, BindingFlags
> bindingAttr, System.Reflection.MemberFilter filter, System.Object
> filterCriteria) [0x00000] in <filename unknown>:0
>   at System.MonoType.GetMembers (BindingFlags bindingAttr) [0x00000]
> in <filename unknown>:0
>   at Mono.CSharp.ImportedTypeDefinition.LoadMembers
> (Mono.CSharp.TypeSpec declaringType, Boolean onlyTypes,
> Mono.CSharp.MemberCache& cache) [0x00000] in <filename unknown>:0
>   --- End of inner exception stack trace ---
>   at Mono.CSharp.ImportedTypeDefinition.LoadMembers
> (Mono.CSharp.TypeSpec declaringType, Boolean onlyTypes,
> Mono.CSharp.MemberCache& cache) [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeSpec.InitializeMemberCache (Boolean onlyTypes)
> [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeSpec.get_MemberCache () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.MemberCache.FindBaseMember (Mono.CSharp.MemberCore
> member, Mono.CSharp.MemberSpec& bestCandidate) [0x00000] in <filename
> unknown>:0
>   at Mono.CSharp.FieldBase.CheckBase () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.FieldBase.DoMemberTypeDependentChecks () [0x00000] in
> <filename unknown>:0
>   at Mono.CSharp.MemberBase.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Const.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeContainer.DefineContainerMembers (IList mcal)
> [0x00000] in <filename unknown>:0
>   --- End of inner exception stack trace ---
>   at Mono.CSharp.TypeContainer.DefineContainerMembers (IList mcal)
> [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Class.DefineContainerMembers (IList list) [0x00000]
> in <filename unknown>:0
>   at Mono.CSharp.TypeContainer.DoDefineMembers () [0x00000] in
> <filename unknown>:0
>   at Mono.CSharp.ClassOrStruct.DoDefineMembers () [0x00000] in
> <filename unknown>:0
>   at Mono.CSharp.Class.DoDefineMembers () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeContainer.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.ModuleContainer.Define () [0x00000] in <filename unknown>:0
>   --- End of inner exception stack trace ---
>   at Mono.CSharp.ModuleContainer.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in
> <filename unknown>:0
> [ERROR] FATAL UNHANDLED EXCEPTION: Mono.CSharp.InternalErrorException:
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkGDCMImageReader.cs(65,14):
> Kitware.VTK.GDCM.vtkGDCMImageReader --->
> Mono.CSharp.InternalErrorException:
> /home/mathieu/debian/debian-med/trunk/packages/gdcm/trunk/gdcm-2.2.2/obj-x86_64-linux-gnu/Utilities/VTK/csharp/vtkGDCMImageReader.cs(75,28):
> Kitware.VTK.GDCM.vtkGDCMImageReader.MRFullTypeName --->
> Mono.CSharp.InternalErrorException: Could not import type
> `Kitware.VTK.vtkMedicalImageReader2' from `Kitware.VTK,
> Version=5.8.0.607, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
> ---> System.TypeLoadException: Could not load type
> 'Kitware.VTK.vtkMedicalImageReader2' from assembly 'Kitware.VTK,
> Version=5.8.0.607, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
>   at (wrapper managed-to-native) System.MonoType:GetMethodsByName
> (System.MonoType,string,System.Reflection.BindingFlags,bool,System.Type)
>   at System.MonoType.GetMethods (BindingFlags bindingAttr) [0x00000]
> in <filename unknown>:0
>   at System.Type.FindMembers (MemberTypes memberType, BindingFlags
> bindingAttr, System.Reflection.MemberFilter filter, System.Object
> filterCriteria) [0x00000] in <filename unknown>:0
>   at System.MonoType.GetMembers (BindingFlags bindingAttr) [0x00000]
> in <filename unknown>:0
>   at Mono.CSharp.ImportedTypeDefinition.LoadMembers
> (Mono.CSharp.TypeSpec declaringType, Boolean onlyTypes,
> Mono.CSharp.MemberCache& cache) [0x00000] in <filename unknown>:0
>   --- End of inner exception stack trace ---
>   at Mono.CSharp.ImportedTypeDefinition.LoadMembers
> (Mono.CSharp.TypeSpec declaringType, Boolean onlyTypes,
> Mono.CSharp.MemberCache& cache) [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeSpec.InitializeMemberCache (Boolean onlyTypes)
> [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeSpec.get_MemberCache () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.MemberCache.FindBaseMember (Mono.CSharp.MemberCore
> member, Mono.CSharp.MemberSpec& bestCandidate) [0x00000] in <filename
> unknown>:0
>   at Mono.CSharp.FieldBase.CheckBase () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.FieldBase.DoMemberTypeDependentChecks () [0x00000] in
> <filename unknown>:0
>   at Mono.CSharp.MemberBase.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Const.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeContainer.DefineContainerMembers (IList mcal)
> [0x00000] in <filename unknown>:0
>   --- End of inner exception stack trace ---
>   at Mono.CSharp.TypeContainer.DefineContainerMembers (IList mcal)
> [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Class.DefineContainerMembers (IList list) [0x00000]
> in <filename unknown>:0
>   at Mono.CSharp.TypeContainer.DoDefineMembers () [0x00000] in
> <filename unknown>:0
>   at Mono.CSharp.ClassOrStruct.DoDefineMembers () [0x00000] in
> <filename unknown>:0
>   at Mono.CSharp.Class.DoDefineMembers () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.TypeContainer.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.ModuleContainer.Define () [0x00000] in <filename unknown>:0
>   --- End of inner exception stack trace ---
>   at Mono.CSharp.ModuleContainer.Define () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
>   at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in
> <filename unknown>:0
> make[3]: *** [bin/./Kitware.VTK.GDCM.dll] Error 1


Reply to: