<p dir="ltr">Mgnuc is compiling with no-ansi right? So that's correct then. </p>
<div class="gmail_quote">On Jun 5, 2013 7:10 AM, "Julien Fischer" <<a href="mailto:jfischer@opturion.com">jfischer@opturion.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Wed, 5 Jun 2013, Julien Fischer wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, 4 Jun 2013, Tycho Luyben wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
stack_t is defined in linux/signal.h while it includes signal.h ;<br>
you're not supposed to include linux/signal.h at all I think. By just<br>
copy/pasting the stack_t definition into mercury_signal.h it compiles<br>
again, but then drops out on missing siginfo_t. That means i'm stuck<br>
as siginfo seems to be huge *and* seems to be included from signal.h<br>
and yet it cannot find it. Any ideas?<br>
</blockquote>
<br>
There is a more general problem on Linux here (i.e not restricted to the<br>
arm-unknown-linux-gnueabi architecture).  On my<br>
x86_64-unknown-linux-gnu box (Ubuntu 12.04), compiling the following<br>
program with gcc is fine:<br>
<br>
  #include <ucontext.h><br>
  int main(void) { return 0; }<br>
<br>
whereas compiling it via the mgnuc script results in error message<br>
about stack_t not being defined.  So, there seems to be some issue<br>
with the header files (or how Mercury is using them) on some Linux<br>
systems and / or with how the mgnuc script is invoking gcc.<br>
<br>
I will take a look into this.<br>
</blockquote>
<br>
The above is down to mgnuc's use of GCC's -ansi option.  However,<br>
Mercury's runtime should be compiled with mgnuc's --no-ansi (which<br>
should disable the use of GCC's -ansi) option enabled.<br>
<br>
Cheers,<br>
Julien.<br>
</blockquote></div>