mkbundle fails to resolve dependencies
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mono (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
When attempting to create a statically linked binary using the utility mkbundle from mono-devel-
Apart from the core assembies, the application from the example run below depends on the following installed packages:
libnotify-cil
libappindicat
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.
-rwxr-xr-x 1 felfert felfert 6144 Jun 26 23:45 DataSpaceSync.
-rwxr-xr-x 1 felfert felfert 826 Jun 26 23:45 DataSpaceSync.
-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/
OS is: Linux
Note that statically linking the LGPL Mono runtime has more licensing restrictions than dynamically linking.
See http://
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.
File name: 'gtk-sharp'
at System.
at (wrapper remoting-
at System.
at IKVM.Reflection
at IKVM.Reflection
at IKVM.Reflection
at MakeBundle.
[ERROR] FATAL UNHANDLED EXCEPTION: System.
File name: 'gtk-sharp'
at System.
at (wrapper remoting-
at System.
at IKVM.Reflection
at IKVM.Reflection
at IKVM.Reflection
at MakeBundle.
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+
Also, using a self-built mono-3.4.0 on a different machine (Fedora) this works fine as well.
CU
-Fritz
Status changed to 'Confirmed' because the bug affects multiple users.