<br><br><div class="gmail_quote">On Fri, Jul 30, 2010 at 6:29 AM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
 <br>sorry....quick send...try again:<br>Hi Eliot. I am trying to compie CogVM from XCode. If I choose &quot;Mac OS X 10.5 (Base SDK)&quot; CogVM compiles without problem.<br><br>But if I choose &quot;Mac OS X 10.6&quot; I have a compile error in ucontext.h line 42:<br>

<br>#error ucontext routines are deprecated, and require _XOPEN_SOURCE to be define<br><br>It comes from sqUnixVMProfile.x where you have:<br><br>#include &lt;ucontext.h&gt; <br>
<br><br>any ideas how can I fix this?<br></blockquote><div><br></div><div>I guess three ways.  One is simply to define _XOPEN_SOURCE.  But better is to figure out how to get the program counter pointer value from a signal handler in 10.6.  i.e. what the profiler does is periodically sample the VM thread&#39;s program counter.  It does this using a thread that sends SIGPROF to the VM thread and have the SIGPROF handler (pcbufferSIGPROFhandler) get the interrupted pc from the ucontext structure passed into the signal handler.  Presumably there&#39;s a new way of doing this in 10.6.  Find out what that is.</div>
<div><br></div><div>The third way is simply to define NO_VM_PROFILE and then the file will provide only stubs and you&#39;ll have no functional VM profiler.</div><div><br></div><div>HTH</div><div>Eliot</div><div><br></div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>Thanks!<br><br>Mariano<br>
<br></blockquote></div><br>