[ubuntu-mono] [Bug 1334932] [NEW] mkbundle fails to resolve dependencies

Fritz Elfert 1334932 at bugs.launchpad.net
Fri Jun 27 02:42:51 UTC 2014


Public bug reported:

When attempting to create a statically linked binary using the utility
mkbundle from mono-devel-3.2.8+dfsg-4ubuntu1, it fails to find any
installed assemblies.

Apart from the core assembies, the application from the example run below depends on the following installed packages:
  libnotify-cil
  libappindicator0.1-cil
  libglib2.0-cil
  libgtk2.0-cil
It works fine when running unbundled e.g. mono CmisSync.exe
  
Content of current directory:
ls -l
-rwxr-xr-x 1 felfert felfert 174080 Jun 26 23:45 CmisSync.exe
-rwxr-xr-x 1 felfert felfert  43286 Jun 26 23:45 CmisSync.exe.mdb
-rwxr-xr-x 1 felfert felfert 259584 Jun 26 23:45 CmisSync.Lib.dll
-rwxr-xr-x 1 felfert felfert  89078 Jun 26 23:45 CmisSync.Lib.dll.mdb
-rwxr-xr-x 1 felfert felfert   6144 Jun 26 23:45 DataSpaceSync.Console.exe
-rwxr-xr-x 1 felfert felfert    826 Jun 26 23:45 DataSpaceSync.Console.exe.mdb
-rwxr-xr-x 1 felfert felfert 282112 Jun 26 23:45 DBreeze.dll
-rwxr-xr-x 1 felfert felfert 473600 Jun 26 23:45 DotCMIS.dll
-rwxr-xr-x 1 felfert felfert 299520 Jun 26 23:45 log4net.dll
-rwxr-xr-x 1 felfert felfert 659968 Jun 26 23:45 Moq.dll
-rwxr-xr-x 1 felfert felfert 481792 Jun 26 23:45 Newtonsoft.Json.dll
-rwxr-xr-x 1 felfert felfert 151552 Jun 26 23:45 nunit.framework.dll
-rwxr-xr-x 1 felfert felfert 353280 Jun 26 23:45 TestLibrary.dll
-rwxr-xr-x 1 felfert felfert 137292 Jun 26 23:45 TestLibrary.dll.mdb

Example run of mkbundle:
mkbundle --static --deps -o DataSpaceSync CmisSync.exe CmisSync.Lib.dll DotCMIS.dll DBreeze.dll DotCMIS.dll log4net.dll Newtonsoft.Json.dll --machine-config /etc/mono/4.5/machine.config
OS is: Linux
Note that statically linking the LGPL Mono runtime has more licensing restrictions than dynamically linking.
See http://www.mono-project.com/Licensing for details on licensing.
WARNING:
  Check that the machine.config file you are bundling
  doesn't contain sensitive information specific to this machine.
Sources: 7 Auto-dependencies: True

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or one of its dependencies. The system cannot find the file specified.
File name: 'gtk-sharp'
  at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string,System.Security.Policy.Evidence,bool)
  at System.Reflection.Assembly.ReflectionOnlyLoad (System.String assemblyString) [0x00000] in <filename unknown>:0 
  at IKVM.Reflection.Universe.DefaultResolver (System.String refname, Boolean throwOnError) [0x00000] in <filename unknown>:0 
  at IKVM.Reflection.Universe.Load (System.String refname, IKVM.Reflection.Module requestingModule, Boolean throwOnError) [0x00000] in <filename unknown>:0 
  at IKVM.Reflection.Universe.Load (System.String refname) [0x00000] in <filename unknown>:0 
  at MakeBundle.QueueAssembly (System.Collections.Generic.List`1 files, System.String codebase) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or one of its dependencies. The system cannot find the file specified.
File name: 'gtk-sharp'
  at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string,System.Security.Policy.Evidence,bool)
  at System.Reflection.Assembly.ReflectionOnlyLoad (System.String assemblyString) [0x00000] in <filename unknown>:0 
  at IKVM.Reflection.Universe.DefaultResolver (System.String refname, Boolean throwOnError) [0x00000] in <filename unknown>:0 
  at IKVM.Reflection.Universe.Load (System.String refname, IKVM.Reflection.Module requestingModule, Boolean throwOnError) [0x00000] in <filename unknown>:0 
  at IKVM.Reflection.Universe.Load (System.String refname) [0x00000] in <filename unknown>:0 
  at MakeBundle.QueueAssembly (System.Collections.Generic.List`1 files, System.String codebase) [0x00000] in <filename unknown>:0

Specifying -L <path> explicitely does not help either. However setting
the MONO_PATH env-variable to corrrectly specify all necessary paths,
*does* help. So it looks like just mkbudles search path is somehow
broken.

BTW:
On an older machine, using an earlier mono (3.0.6+dfsg-1~exp1~pre) this worked fine.
Also, using a self-built mono-3.4.0 on a different machine (Fedora) this works fine as well.

CU
 -Fritz

** Affects: mono (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: trusty

-- 
You received this bug notification because you are a member of Ubuntu
CLI/Mono Uploaders, which is subscribed to mono in Ubuntu.
https://bugs.launchpad.net/bugs/1334932

Title:
  mkbundle fails to resolve dependencies

Status in “mono” package in Ubuntu:
  New

Bug description:
  When attempting to create a statically linked binary using the utility
  mkbundle from mono-devel-3.2.8+dfsg-4ubuntu1, it fails to find any
  installed assemblies.

  Apart from the core assembies, the application from the example run below depends on the following installed packages:
    libnotify-cil
    libappindicator0.1-cil
    libglib2.0-cil
    libgtk2.0-cil
  It works fine when running unbundled e.g. mono CmisSync.exe
    
  Content of current directory:
  ls -l
  -rwxr-xr-x 1 felfert felfert 174080 Jun 26 23:45 CmisSync.exe
  -rwxr-xr-x 1 felfert felfert  43286 Jun 26 23:45 CmisSync.exe.mdb
  -rwxr-xr-x 1 felfert felfert 259584 Jun 26 23:45 CmisSync.Lib.dll
  -rwxr-xr-x 1 felfert felfert  89078 Jun 26 23:45 CmisSync.Lib.dll.mdb
  -rwxr-xr-x 1 felfert felfert   6144 Jun 26 23:45 DataSpaceSync.Console.exe
  -rwxr-xr-x 1 felfert felfert    826 Jun 26 23:45 DataSpaceSync.Console.exe.mdb
  -rwxr-xr-x 1 felfert felfert 282112 Jun 26 23:45 DBreeze.dll
  -rwxr-xr-x 1 felfert felfert 473600 Jun 26 23:45 DotCMIS.dll
  -rwxr-xr-x 1 felfert felfert 299520 Jun 26 23:45 log4net.dll
  -rwxr-xr-x 1 felfert felfert 659968 Jun 26 23:45 Moq.dll
  -rwxr-xr-x 1 felfert felfert 481792 Jun 26 23:45 Newtonsoft.Json.dll
  -rwxr-xr-x 1 felfert felfert 151552 Jun 26 23:45 nunit.framework.dll
  -rwxr-xr-x 1 felfert felfert 353280 Jun 26 23:45 TestLibrary.dll
  -rwxr-xr-x 1 felfert felfert 137292 Jun 26 23:45 TestLibrary.dll.mdb

  Example run of mkbundle:
  mkbundle --static --deps -o DataSpaceSync CmisSync.exe CmisSync.Lib.dll DotCMIS.dll DBreeze.dll DotCMIS.dll log4net.dll Newtonsoft.Json.dll --machine-config /etc/mono/4.5/machine.config
  OS is: Linux
  Note that statically linking the LGPL Mono runtime has more licensing restrictions than dynamically linking.
  See http://www.mono-project.com/Licensing for details on licensing.
  WARNING:
    Check that the machine.config file you are bundling
    doesn't contain sensitive information specific to this machine.
  Sources: 7 Auto-dependencies: True

  Unhandled Exception:
  System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or one of its dependencies. The system cannot find the file specified.
  File name: 'gtk-sharp'
    at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] in <filename unknown>:0 
    at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string,System.Security.Policy.Evidence,bool)
    at System.Reflection.Assembly.ReflectionOnlyLoad (System.String assemblyString) [0x00000] in <filename unknown>:0 
    at IKVM.Reflection.Universe.DefaultResolver (System.String refname, Boolean throwOnError) [0x00000] in <filename unknown>:0 
    at IKVM.Reflection.Universe.Load (System.String refname, IKVM.Reflection.Module requestingModule, Boolean throwOnError) [0x00000] in <filename unknown>:0 
    at IKVM.Reflection.Universe.Load (System.String refname) [0x00000] in <filename unknown>:0 
    at MakeBundle.QueueAssembly (System.Collections.Generic.List`1 files, System.String codebase) [0x00000] in <filename unknown>:0 
  [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or one of its dependencies. The system cannot find the file specified.
  File name: 'gtk-sharp'
    at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] in <filename unknown>:0 
    at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string,System.Security.Policy.Evidence,bool)
    at System.Reflection.Assembly.ReflectionOnlyLoad (System.String assemblyString) [0x00000] in <filename unknown>:0 
    at IKVM.Reflection.Universe.DefaultResolver (System.String refname, Boolean throwOnError) [0x00000] in <filename unknown>:0 
    at IKVM.Reflection.Universe.Load (System.String refname, IKVM.Reflection.Module requestingModule, Boolean throwOnError) [0x00000] in <filename unknown>:0 
    at IKVM.Reflection.Universe.Load (System.String refname) [0x00000] in <filename unknown>:0 
    at MakeBundle.QueueAssembly (System.Collections.Generic.List`1 files, System.String codebase) [0x00000] in <filename unknown>:0

  Specifying -L <path> explicitely does not help either. However setting
  the MONO_PATH env-variable to corrrectly specify all necessary paths,
  *does* help. So it looks like just mkbudles search path is somehow
  broken.

  BTW:
  On an older machine, using an earlier mono (3.0.6+dfsg-1~exp1~pre) this worked fine.
  Also, using a self-built mono-3.4.0 on a different machine (Fedora) this works fine as well.

  CU
   -Fritz

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mono/+bug/1334932/+subscriptions



More information about the Ubuntu-mono mailing list