[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