[Mono-list] How do you use mkbundle2 for Mac OS X successfully?

d_v dan.vandermolen at figpsoft.com
Thu Feb 18 13:59:46 EST 2010


I am having difficulty running bundles and using mkbundle. 
How do I: 
1) Not see the Terminal window when I double-click the mkbundle
output/bundled file: test3 
2) When I Launch the mkbundle output file in Mac OS X and the logout of the
Mac with the mono application still running (and terminal window open), the
Mac will hang and the application will not quit and I can't logout until I
'force quit' mono. However while it is hanging I can either quit the
terminal window or the application to close both windows (term and app) and
then the logout works.
3) Sucessfully use mkbundle with the dynamic option and get no warnings.
(please see below)

I am running a simple test WinForm application with one button to test the
mkbundle application.  I would like to have one file that can be run without
having mono installed.  I excluded the app.config file from the VS 2005.NET
project as I heard there is a bug.  As a result when I compile on VS
2005.NET I get one output file (.exe).   
Note: I did not set any config paths or anything like: PKG_CONFIG_PATH, just
a basic Xcode install and mono 2.6.1_1 install.  I do not have any compiler
flags set. I think I am using all default settings. 

In installed XCode Tools 3.14 on OSX 10.5.x and can run mkbundle including
the 'as' command. 
This behaviour happens when I use the static parameter or not.   
The first attempt uses dynamic linking.  The second attempt uses static
linking. Static compiles without warnings. 

$ /Library/Frameworks/Mono.framework/Commands/mkbundle2 -o test3
MacFormViaButton.exe --deps 
OS is: Darwin 
Sources: 1 Auto-dependencies: True 
   embedding: /Program Files/My
Software/MacFormViaButton/MacFormViaButton.exe 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll 
 config from:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.config 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/2.0/mscorlib.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll 
 config from:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.config 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Security/2.0.0.0__b03f5f7f11d50a3a/System.Security.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/Mono.Security/2.0.0.0__0738eb9f132ed756/Mono.Security.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/Mono.WebBrowser/0.5.0.0__0738eb9f132ed756/Mono.WebBrowser.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/Mono.Data.Tds/2.0.0.0__0738eb9f132ed756/Mono.Data.Tds.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll 
 config from:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll.config 
   embedding:
/Library/Frameworks/Mono.framework/Versions/2.6.1/lib/mono/gac/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll 
Compiling: 
as -o temp.o temp.s 
cc -g -o test3 -Wall temp.c `pkg-config --cflags --libs mono`  temp.o 
temp.c: In function ‘install_dll_config_files’: 
temp.c:64: warning: pointer targets in passing argument 2 of
‘mono_register_config_for_assembly’ differ in signedness 
temp.c:66: warning: pointer targets in passing argument 2 of
‘mono_register_config_for_assembly’ differ in signedness 
temp.c:68: warning: pointer targets in passing argument 2 of
‘mono_register_config_for_assembly’ differ in signedness 
Done 


$ /Library/Frameworks/Mono.framework/Commands/mkbundle2 -o test4
MacFormViaButton.exe --static 
OS is: Darwin 
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. 
Sources: 1 Auto-dependencies: False 
   embedding: /Program Files/My
Software/MacFormViaButton/MacFormViaButton.exe 
Compiling: 
as -o temp.o temp.s 
cc -o test4 -Wall `pkg-config --cflags mono` temp.c  `pkg-config
--libs-only-L mono` `pkg-config --variable=libdir mono`/libmono.a
`pkg-config --libs-only-l mono | sed -e "s/\-lmono //"` temp.o 
Done 


thanks for any advice
-- 
View this message in context: http://n2.nabble.com/How-do-you-use-mkbundle2-for-Mac-OS-X-successfully-tp4593621p4593621.html
Sent from the Mono - General mailing list archive at Nabble.com.


More information about the Mono-list mailing list