<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <font color="#000000">Please read this thread from a month ago.</font><br>
    <br>
    <a
href="http://forum.world.st/Failed-to-build-FloatMathPlugin-on-FreeBSD-td3346374.html#a3346695">http://forum.world.st/Failed-to-build-FloatMathPlugin-on-FreeBSD-td3346374.html#a3346695</a><br>
    <br>
    Cheers,<br>
    Henry<br>
    <br>
    On 10.04.2011 21:17, Mariano Martinez Peck wrote:
    <blockquote
      cite="mid:BANLkTim-YoOubx6XSTKGwMB4Qi46xgsA7g@mail.gmail.com"
      type="cite">
      <pre wrap=""> </pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <br>
      <br>
      <div class="gmail_quote">On Sun, Apr 10, 2011 at 9:08 PM, Andreas
        Raab <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          &nbsp;<br>
          <div bgcolor="#ffffff" text="#000000"> On 4/10/2011 18:35,
            Mariano Martinez Peck wrote:
            <blockquote type="cite">Sorry for arriving late to the
              thread. I have a simiar problem now trying to compile Cog
              in a Windows box with MinGW. <br>
              <br>
              The problem is described in another thread: <a
                moz-do-not-send="true"
href="http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp3434566p3434566.html"
                target="_blank">http://forum.world.st/Cannot-generate-VM-in-Windows-with-CMake-and-Git-tp3434566p3434566.html</a><br>
              <br>
              So...if we remove "-mno-fused-madd"&nbsp; from windows confs
              like CogMsWindowsConfig, then Corquet wouldn't behave
              correctly ?&nbsp; but if we keep them, it is difficult to
              compile in some platforms. So...I wonder, I am the only
              one trying to compile this on Windows?&nbsp; Who do the Croquet
              guys do to compile with this flag in Windows?<br>
            </blockquote>
            <br>
            gcc 3.x accepts -mno-fused-madd fine.<br>
          </div>
        </blockquote>
        <div><br>
          Weird...I have<br>
          <br>
          $ gcc --version<br>
          gcc.exe (GCC) 3.4.5 (mingw-vista special r3)<br>
          Copyright (C) 2004 Free Software Foundation, Inc.<br>
          This is free software; see the source for copying conditions.&nbsp;
          There is NO<br>
          warranty; not even fo<br>
          <br>
          and I have the error: <br>
          <br>
          <span>Scanning dependencies of target FloatMathPlugin</span><br>
          <span>[ 13%] Building C object
            FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/C_/maria&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

no/squeak/vm/cogVM/blessed/src/plugins/FloatMathPlugin/FloatMathPlugin.c.obj</span><br>
          <span>
            cc1.exe: error: invalid option `no-fused-madd'</span><br>
          <span>make[2]: ***
            [FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/C_/mariano/squeak/v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

            m/cogVM/blessed/src/plugins/FloatMathPlugin/FloatMathPlugin.c.obj]
            Error 1</span><br>
          <span>
            make[1]: ***
            [FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/all] Error 2</span><br>
          <span>make: *** [all] Error 2</span><br>
          r MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<br>
          &nbsp;<br>
          <br>
          Cheers<br>
          <br>
          mariano<br>
          <br>
        </div>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000"> <br>
            Cheers,<br>
            &nbsp; - Andreas<br>
            <br>
            <blockquote type="cite"> <br>
              Thanks<br>
              <br>
              Mariano<br>
              <br>
              <div class="gmail_quote">On Tue, Jan 25, 2011 at 9:05 PM,
                Nicolas Cellier <span dir="ltr">&lt;<a
                    moz-do-not-send="true"
                    href="mailto:nicolas.cellier.aka.nice@gmail.com"
                    target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span>
                wrote:<br>
                <blockquote class="gmail_quote" style="margin: 0pt 0pt
                  0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);
                  padding-left: 1ex;"><br>
                  2011/1/25 Andreas Raab &lt;<a moz-do-not-send="true"
                    href="mailto:andreas.raab@gmx.de" target="_blank">andreas.raab@gmx.de</a>&gt;:<br>
                  <div>&gt;<br>
                    &gt; On 1/25/2011 11:38 AM, Igor Stasenko wrote:<br>
                    &gt;&gt;&gt;<br>
                    &gt;&gt;&gt; Squeak uses highly unportable flag
                    "-mno-fused-madd".<br>
                    &gt;&gt;&gt; It isn't present in many systems, even
                    those using GCC,<br>
                    &gt;&gt;&gt; since many systems use older compilers.<br>
                    &gt;&gt;&gt;<br>
                    &gt;&gt;&gt; Also, why do you build fdlibm? It is
                    old stuff that works not so well,<br>
                    &gt;&gt;&gt; we have better libm. Is there a way to
                    use our libm?<br>
                    &gt;&gt;&gt;<br>
                    &gt;&gt; I asked &nbsp;same question few weeks ago.<br>
                    &gt;&gt; Check mailing list archive for discussion.<br>
                    &gt;&gt; In short: differrent libm implementations
                    work differently and some<br>
                    &gt;&gt; have bad support of IEEE standard.<br>
                    &gt;<br>
                    &gt; Actually, that's not quite the point. The issue
                    is that Croquet requires<br>
                    &gt; bit-identical computations including floating
                    point. For FPU computations,<br>
                    &gt; the use of -mno-fused-madd avoids the use of
                    the fused multiply-add<br>
                    &gt; operation by compilers which support it which
                    would generate different<br>
                    &gt; results from compilers not using fused madd.<br>
                    &gt;<br>
                    &gt; The usage of fdlibm is similar. As Nicolas has
                    pointed out elsewhere, fdlibm<br>
                    &gt; is in some cases actually inferior of the
                    platform libms (one might say<br>
                    &gt; outright broken) but the requirement for the
                    usage in Croquet isn't really<br>
                    &gt; whether it's "correct" or "good". The
                    requirement is bit-identical results<br>
                    &gt; across all platforms. The results can be wrong
                    as long as they are<br>
                    &gt; consistently wrong. But they mustn't be
                    different.<br>
                    &gt;<br>
                    <br>
                  </div>
                  Yes, I was disappointed by exp(1), but fdlibm
                  sin(pi+epsilon) is far<br>
                  far superior to i86 hardwired answer (i86
                  approximation of pi is well<br>
                  known to be poor).<br>
                  <font color="#888888"><br>
                    Nicolas<br>
                  </font>
                  <div>
                    <div><br>
                      &gt; Having said that, for your regular Squeak VM
                      (i.e., not requiring<br>
                      &gt; bit-identical floating point results) there
                      really isn't a requirement to<br>
                      &gt; use either -mno-fused-madd or fdlibm.<br>
                      &gt;<br>
                      &gt; Cheers,<br>
                      &gt; &nbsp;- Andreas<br>
                      &gt;<br>
                    </div>
                  </div>
                </blockquote>
              </div>
              <br>
              <br clear="all">
              <br>
              -- <br>
              Mariano<br>
              <a moz-do-not-send="true"
                href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </blockquote>
      </div>
      <br>
      <br clear="all">
      <br>
      -- <br>
      Mariano<br>
      <a moz-do-not-send="true" href="http://marianopeck.wordpress.com"
        target="_blank">http://marianopeck.wordpress.com</a><br>
      <br>
    </blockquote>
    <br>
  </body>
</html>