<div dir="ltr">hmm Thanks Robert! I was only adding --export-dynamic to generate the intermediary .o files. Now I've added it to create the <i>nginx</i> executable.<div style>Do you have any hints on the problem of Marshal.SizeOf returning 0 (zero)?</div>
<div style>This is the class whose size is said to be zero:</div><div style><br></div><div style>        <i>[StructLayout(LayoutKind.Sequential)]</i></div><div><i><span class="" style="white-space:pre">      </span>public class NginxChain {</i></div>
<div><i><span class="" style="white-space:pre">           </span>public NginxResponseBuffer buf;</i></div><div><i><span class="" style="white-space:pre">         </span>public NginxChain next;</i></div><div><i><span class="" style="white-space:pre"> </span>}</i></div>
<div><br></div><div style>NginxResponseBuffer is another class with sequential layout, although its size is non-zero when calculated through Marshal.SizeOf.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Mon, Apr 29, 2013 at 9:59 PM, Robert Jordan <span dir="ltr"><<a href="mailto:robertj@gmx.net" target="_blank">robertj@gmx.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 29.04.2013 21:20, Marcelo Zabani wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
When embedding Mono within Nginx, I received the following exception:<br>
<br></div>
*Unhandled Exception: System.<u></u>EntryPointNotFoundException:<br>
log_error_core_wrapper*<br>
*  at (wrapper managed-to-native) Nam.NginxMethods:ngx_log_error<br>
(uint,intptr,int,string)*<br>
*  at Nam.NginxMethods.LogInfo (IntPtr log, System.String msg) [0x00000] in<br>
<filename unknown>:0 *<div class="im"><br>
<br>
The DllImported method is this:<br>
<br></div>
*[DllImport ("__Internal", EntryPoint="log_error_core_<u></u>wrapper")]*<br>
*public static extern void ngx_log_error(uint level, IntPtr log, int err,<br>
string msg);*<br>
<br>
</blockquote>
<br>
You must link the main executable (nginx) with the the<br>
<br>
        -Wl,--export-dynamic<br>
<br>
option, otherwise the dynamic linker won't expose its symbols to dlopen.<span class="HOEnZb"><font color="#888888"><br>
<br>
Robert<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Marcelo Zabani<br>(19) 9341-0221<br>
</div>