Re: [Mono-dev] Static Bundling
Hi all after 6 years from conversation ,I have the same problem here! I'm working on cross mkbundle for armhf. I got everything done for a console app but for winforms apps I have the 'libgdiplus' problem. I have the 'libgdiplus.a' library which is armhf native. How can I statically link this library via mkbundle and gcc? what dllmap entry should be added to config file? Avery Pennarun wrote If you need additional capabilities you can roll your own, like linking the libs to your program yourself and redirecting the p/invoke calls as explained in man mono-config. This is the part that confused me: reading man mkbundle doesn't explain the limitations. Thanks for the explanation. The p/invoke stuff seems like it might be easy enough to fake by linking to a static library instead of a dynamic one, and then looking for dynamic symbols in dlopen(NULL) (ie. the executable file). The executable would have to be linked with -rdynamic in that case so that it exports its own symbols. All a bit tricky to get right, though. can you explain more? -- View this message in context: http://mono.1490590.n4.nabble.com/Static-Bundling-tp1531639p4661629.html Sent from the Mono - Dev mailing list archive at Nabble.com. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
On 12/18/07 Avery Pennarun wrote: I've been looking at using mkbundle myself for my own work. It's network stuff, not graphical, so I wouldn't expect gdiplus to be a problem for me. But what exactly is that case that it can't cope with? Dynamically-linked elf libraries? Could I just rebuild with static libs instead? mkbundle solves the needs of 99% of the people that need it's capabilities. It doesn't solve all the worlds problems, so you can't expect it to. From the manpage: mkbundle generates an executable program that will contain static copies of the assemblies listed on the command line. And it does exactly what it's documented to do. If you need additional capabilities you can roll your own, like linking the libs to your program yourself and redirecting the p/invoke calls as explained in man mono-config. Also, let me take this occasion to remind everyone that statically bundling the libmono library and any other LGPL library requires (if you distribute the binary) that you also distribute all the stuff that is needed by the user to relink your code to a different version of the library (this is just one of the ways to comply with the license, see the LGPL for more details). lupus -- - [EMAIL PROTECTED] debian/rules [EMAIL PROTECTED] Monkeys do it better ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
On 19/12/2007, Paolo Molaro [EMAIL PROTECTED] wrote: From the manpage: mkbundle generates an executable program that will contain static copies of the assemblies listed on the command line. And it does exactly what it's documented to do. It also does more than just that, since it has options like --static. It seems to solve quite a lot of the world's problems, actually. :) If you need additional capabilities you can roll your own, like linking the libs to your program yourself and redirecting the p/invoke calls as explained in man mono-config. This is the part that confused me: reading man mkbundle doesn't explain the limitations. Thanks for the explanation. The p/invoke stuff seems like it might be easy enough to fake by linking to a static library instead of a dynamic one, and then looking for dynamic symbols in dlopen(NULL) (ie. the executable file). The executable would have to be linked with -rdynamic in that case so that it exports its own symbols. All a bit tricky to get right, though. Have fun, Avery ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
[Mono-dev] Static Bundling
Using Mono v1.2.6 on Linux. We are bundling a simple WinForms app with mkbundle.exe and wish to statically link the runtime libs. When the resulting executable is run on a box with no Mono installed, it fails to run because it can't find: libgdiplus.so. After installing the library, it fails because it can't find: libMonoPosixHelper.so. What are my options? Is there a way to force these libs to also be linked into the bundle? Am I dependent on a Mono installation even if I statically bundle the application? Thanks!! Ricardo Ruiz, Development Ignite Technologies 3211 Internet Blvd., Suite 300 Frisco, Texas 75034 Phone - 972.348.6429 [EMAIL PROTECTED] ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
Ricardo Ruiz wrote: Using Mono v1.2.6 on Linux. We are bundling a simple WinForms app with mkbundle.exe and wish to statically link the runtime libs. When the resulting executable is run on a box with no Mono installed, it fails to run because it can't find: libgdiplus.so. After installing the library, it fails because it can't find: libMonoPosixHelper.so. What are my options? Is there a way to force these libs to also be linked into the bundle? Am I dependent on a Mono installation even if I statically bundle the application? You have to deploy those libs together with your bundle. Robert ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
On 18/12/2007, Robert Jordan [EMAIL PROTECTED] wrote: Ricardo Ruiz wrote: it can't find: libgdiplus.so. After installing the library, it fails because it can't find: libMonoPosixHelper.so. You have to deploy those libs together with your bundle. Doesn't that defeat the purpose? Avery ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
it can't find: libgdiplus.so. After installing the library, it fails because it can't find: libMonoPosixHelper.so. You have to deploy those libs together with your bundle. Doesn't that defeat the purpose? mkbundle can not cope with that case, and chances are, it will not for a long time. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
On 18/12/2007, Miguel de Icaza [EMAIL PROTECTED] wrote: it can't find: libgdiplus.so. After installing the library, it fails because it can't find: libMonoPosixHelper.so. You have to deploy those libs together with your bundle. Doesn't that defeat the purpose? mkbundle can not cope with that case, and chances are, it will not for a long time. I've been looking at using mkbundle myself for my own work. It's network stuff, not graphical, so I wouldn't expect gdiplus to be a problem for me. But what exactly is that case that it can't cope with? Dynamically-linked elf libraries? Could I just rebuild with static libs instead? Thanks, Avery ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Static Bundling
But what exactly is that case that it can't cope with? Dynamically-linked elf libraries? Could I just rebuild with static libs instead? mkbundle can not cope with anything in a P/Invoke. ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list