<div dir="ltr"><div><div><div><div><div><div>Hi Dave,<br><br></div>On the issue of M_PI, on my linux machine, it resides in math.h and would be gcc&#39;s. Its guarded by preprocessor conditionals:<br><br>#if defined __USE_BSD || defined __USE_XOPEN<br>....<br># define M_PI           3.14159265358979323846  /* pi */<br>....<br></div>#endif<br><br></div>As Dave Brown&#39;s reply indicated, there&#39;s probably some compiler option that will enable it.<br><br></div>As for the link errors -- I really don&#39;t know what to suggest. I have zero experience with ifort.  The undefined symbol &quot;_ggkwdr_&quot; is a bit of C--code coming out of libncarg_gks.  <br><br></div>Wish I could be of more help...<br></div>Rick<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 16, 2014 at 11:43 AM, Dave Lane <span dir="ltr">&lt;<a href="mailto:dlane@ap.stmarys.ca" target="_blank">dlane@ap.stmarys.ca</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi Rick,<br>
    <br>
    What would the appropriate definition of M_PI be? <br>
    <br>
    Also note that I&#39;m compiling with V4.9 of gcc and ifort. The same
    file must have compiled ok when I built with gcc/gfortran (both
    4.9). <br>
    <br>
    Examples of other errors are:<br>
    <br>
    gcc-mp-4.9 -bind_at_load -r -o libconrcqck.o conrec.o clgen.o
    quick.o maxmin.o calcnt.o ezcntr.o conbd.o<br>
    ld: warning: unexpected dylib (/usr/lib/libSystem.dylib) on link
    line<br>
    ld: warning: unexpected dylib
    (/opt/local/lib/gcc49/libgcc_ext.10.5.dylib) on link line<br>
    0  0x1049c2abb  __assert_rtn + 144<br>
    1  0x1049eb2c6 
    ld::tool::SectionRelocationsAtom&lt;x86&gt;::sectSymNum(bool,
    ld::Atom const*) + 0<br>
    2  0x1049d9180 
    ld::tool::SectionRelocationsAtom&lt;x86_64&gt;::encodeSectionReloc(ld::Internal::FinalSection*,
    ld::tool::SectionRelocationsAtom&lt;x86_64&gt;::Entry const&amp;,
    std::__1::vector&lt;macho_relocation_info&lt;Pointer64&lt;LittleEndian&gt;
    &gt;,
    std::__1::allocator&lt;macho_relocation_info&lt;Pointer64&lt;LittleEndian&gt;
    &gt; &gt; &gt;&amp;) + 86<br>
    3  0x104a0e7b8 
    ld::tool::SectionRelocationsAtom&lt;x86_64&gt;::encode() + 62<br>
    4  0x1049e04ca 
    ld::tool::OutputFile::updateLINKEDITAddresses(ld::Internal&amp;) +
    454<br>
    5  0x1049db0de  ld::tool::OutputFile::write(ld::Internal&amp;) + 138<br>
    6  0x1049c37f0  main + 1012<br>
    7  0x7fff8ebf55fd  start + 1<br>
    A linker snapshot was created at:<br>
            /tmp/libconrcqck.o-2014-08-15-141432.ld-snapshot<br>
    ld: Assertion failed: (_machoSection != 0), function machoSection,
    file src/ld/ld.hpp, line 714.<br>
    collect2: error: ld returned 1 exit status<br>
    make[5]: *** [libconrcqck.o] Error 1<br>
    <br>
    ----- and ------<br>
    <br>
    ifort -m64 -openmp  -O    -o tdpackdemo TdpackDemo.o
    -L../../../.././ncarg2d/src/libncarg -lncarg
    -L../../../.././ncarg2d/src/libncarg_gks -lncarg_gks
    -L../../../.././common/src/libncarg_c -lncarg_c -lcairo -lfontconfig
    -lpixman-1 -lfreetype -lexpat -lpng -lz -lpthread -lbz2 -lXrender
    -lpng -lz -L/usr/local/ncarg/ifort/lib
    -L/opt/intel/composer_xe_2011_sp1.10.328/compiler/lib -L/opt/X11/lib
    -L/opt/local/lib -L/opt/local/hdf4/ifort/lib
    -L/opt/local/szip/ifort/lib  -lXpm -lX11 -lXext<br>
    Undefined symbols for architecture x86_64:<br>
      &quot;_ggkwdr_&quot;, referenced from:<br>
          _gztowk_ in libncarg_gks.a(gztowk.o)<br>
          _gziqwk_ in libncarg_gks.a(gziqwk.o)<br>
    ld: symbol(s) not found for architecture x86_64<br>
    make[5]: *** [tdpackdemo] Error 1<span class="HOEnZb"><font color="#888888"><br>
    <br>
    --- Dave<br>
    </font></span><br>
    ps. And I have compiled ncarg successfully on a mac with ifort/gcc 
    a few years ago with maybe 10.6.<div><div class="h5"><br>
    <br>
    <div>On 15/09/2014 11:22 PM, Rick Brownrigg
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>Hi Dave,<br>
              <br>
            </div>
            I&#39;m not totally sure about this one, but it appears M_PI
            *may* be a GNU-ism -- a non-standard constant specific to
            the gcc compiler. I&#39;ll investigate this further, but if
            that&#39;s the case, we clearly should not rely on such a
            compiler-specific idiom.  In the mean time, you could patch
            your copy of cro.c with the appropriate definition in order
            to move forward. <br>
            <br>
          </div>
          You say there are many errors -- are they beyond just this
          particular symbol being undefined?<br>
          <br>
        </div>
        Rick<br>
        <div>
          <div><br>
            <div>
              <div><br>
                <br>
                Message: 1<br>
                Date: Mon, 15 Sep 2014 15:56:26 -0300<br>
                From: Dave Lane &lt;<a href="mailto:dlane@ap.stmarys.ca" target="_blank">dlane@ap.stmarys.ca</a>&gt;<br>
                Subject: [ncl-install] Installing ncarg on OS X 10.9
                with ifort<br>
                To: <a href="mailto:ncl-install@ucar.edu" target="_blank">ncl-install@ucar.edu</a><br>
                Message-ID: &lt;<a href="mailto:5417365A.5010200@ap.stmarys.ca" target="_blank">5417365A.5010200@ap.stmarys.ca</a>&gt;<br>
                Content-Type: text/plain; charset=ISO-8859-1;
                format=flowed<br>
                <br>
                Hi,<br>
                <br>
                I am having troubles building NCAR Graphics (6.2.0) on
                OS 10.9 with<br>
                ifort (V13.0.2).<br>
                <br>
                First of all, with the same machine I have successfully
                compiled it with<br>
                gfortran (both library versions are needed by the
                researcher).<br>
                <br>
                The first error (there are many) is:<br>
                <br>
                gcc-mp-4.9 -ansi -m64 -fopenmp -lsz  -O 
                -I../../../.././include<br>
-I/opt/intel/composer_xe_2011_sp1.10.328/compiler/include<br>
                -I/opt/X11/include -I/opt/local/include
                -I/opt/X11/include/freetype2<br>
                -I/opt/local/hdf4/ifort/include
                -I/opt/local/szip/ifort/include<br>
                -DDarwin    -DCTXT -DX11 -DPS -DPDF -DPIX  -DSYSV
                -D_POSIX_SOURCE<br>
                -D_XOPEN_SOURCE -DByteSwapped -D__UNIXOS2__
                -DNeedFuncProto    -c -o<br>
                cro.o cro.c<br>
                cro.c: In function &#39;cro_Polymarker&#39;:<br>
                cro.c:1451:71: error: &#39;M_PI&#39; undeclared (first use in
                this function)<br>
                              cairo_arc(context, xc, yc, mscale *
                marker_size, 0., 2. *<br>
                M_PI);<br>
                ^<br>
                cro.c:1451:71: note: each undeclared identifier is
                reported only once<br>
                for each function it appears in<br>
                make[5]: *** [cro.o] Error 1<br>
                <br>
                The cro.c file is this one:
                ./ncarg2d/src/libncarg_gks/cdrivers/cro.c<br>
                <br>
                Any idea where MP_I is supposed to be defined?<br>
                <br>
                --- Dave<br>
                <br>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>