Re: [Mono-dev] Static Bundling

2014-01-03 Thread mobin.seven
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

2007-12-19 Thread Paolo Molaro
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

2007-12-19 Thread Avery Pennarun
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

2007-12-18 Thread Ricardo Ruiz
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

2007-12-18 Thread Robert Jordan
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

2007-12-18 Thread Avery Pennarun
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

2007-12-18 Thread Miguel de Icaza

   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

2007-12-18 Thread Avery Pennarun
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

2007-12-18 Thread Miguel de Icaza

 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