[ncl-install] Installing ncarg on OS X 10.9 with ifort

Rick Brownrigg brownrig at ucar.edu
Wed Sep 17 10:26:38 MDT 2014


Hi Dave,

On the issue of M_PI, on my linux machine, it resides in math.h and would
be gcc's. Its guarded by preprocessor conditionals:

#if defined __USE_BSD || defined __USE_XOPEN
....
# define M_PI           3.14159265358979323846  /* pi */
....
#endif

As Dave Brown's reply indicated, there's probably some compiler option that
will enable it.

As for the link errors -- I really don't know what to suggest. I have zero
experience with ifort.  The undefined symbol "_ggkwdr_" is a bit of C--code
coming out of libncarg_gks.

Wish I could be of more help...
Rick

On Tue, Sep 16, 2014 at 11:43 AM, Dave Lane <dlane at ap.stmarys.ca> wrote:

>  Hi Rick,
>
> What would the appropriate definition of M_PI be?
>
> Also note that I'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).
>
> Examples of other errors are:
>
> 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
> ld: warning: unexpected dylib (/usr/lib/libSystem.dylib) on link line
> ld: warning: unexpected dylib (/opt/local/lib/gcc49/libgcc_ext.10.5.dylib)
> on link line
> 0  0x1049c2abb  __assert_rtn + 144
> 1  0x1049eb2c6  ld::tool::SectionRelocationsAtom<x86>::sectSymNum(bool,
> ld::Atom const*) + 0
> 2  0x1049d9180
> ld::tool::SectionRelocationsAtom<x86_64>::encodeSectionReloc(ld::Internal::FinalSection*,
> ld::tool::SectionRelocationsAtom<x86_64>::Entry const&,
> std::__1::vector<macho_relocation_info<Pointer64<LittleEndian> >,
> std::__1::allocator<macho_relocation_info<Pointer64<LittleEndian> > > >&) +
> 86
> 3  0x104a0e7b8  ld::tool::SectionRelocationsAtom<x86_64>::encode() + 62
> 4  0x1049e04ca
> ld::tool::OutputFile::updateLINKEDITAddresses(ld::Internal&) + 454
> 5  0x1049db0de  ld::tool::OutputFile::write(ld::Internal&) + 138
> 6  0x1049c37f0  main + 1012
> 7  0x7fff8ebf55fd  start + 1
> A linker snapshot was created at:
>         /tmp/libconrcqck.o-2014-08-15-141432.ld-snapshot
> ld: Assertion failed: (_machoSection != 0), function machoSection, file
> src/ld/ld.hpp, line 714.
> collect2: error: ld returned 1 exit status
> make[5]: *** [libconrcqck.o] Error 1
>
> ----- and ------
>
> 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
> Undefined symbols for architecture x86_64:
>   "_ggkwdr_", referenced from:
>       _gztowk_ in libncarg_gks.a(gztowk.o)
>       _gziqwk_ in libncarg_gks.a(gziqwk.o)
> ld: symbol(s) not found for architecture x86_64
> make[5]: *** [tdpackdemo] Error 1
>
> --- Dave
>
> ps. And I have compiled ncarg successfully on a mac with ifort/gcc  a few
> years ago with maybe 10.6.
>
>
> On 15/09/2014 11:22 PM, Rick Brownrigg wrote:
>
>   Hi Dave,
>
>  I'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'll
> investigate this further, but if that'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.
>
>  You say there are many errors -- are they beyond just this particular
> symbol being undefined?
>
>  Rick
>
>
>
> Message: 1
> Date: Mon, 15 Sep 2014 15:56:26 -0300
> From: Dave Lane <dlane at ap.stmarys.ca>
> Subject: [ncl-install] Installing ncarg on OS X 10.9 with ifort
> To: ncl-install at ucar.edu
> Message-ID: <5417365A.5010200 at ap.stmarys.ca>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Hi,
>
> I am having troubles building NCAR Graphics (6.2.0) on OS 10.9 with
> ifort (V13.0.2).
>
> First of all, with the same machine I have successfully compiled it with
> gfortran (both library versions are needed by the researcher).
>
> The first error (there are many) is:
>
> gcc-mp-4.9 -ansi -m64 -fopenmp -lsz  -O  -I../../../.././include
> -I/opt/intel/composer_xe_2011_sp1.10.328/compiler/include
> -I/opt/X11/include -I/opt/local/include -I/opt/X11/include/freetype2
> -I/opt/local/hdf4/ifort/include -I/opt/local/szip/ifort/include
> -DDarwin    -DCTXT -DX11 -DPS -DPDF -DPIX  -DSYSV -D_POSIX_SOURCE
> -D_XOPEN_SOURCE -DByteSwapped -D__UNIXOS2__ -DNeedFuncProto    -c -o
> cro.o cro.c
> cro.c: In function 'cro_Polymarker':
> cro.c:1451:71: error: 'M_PI' undeclared (first use in this function)
>               cairo_arc(context, xc, yc, mscale * marker_size, 0., 2. *
> M_PI);
> ^
> cro.c:1451:71: note: each undeclared identifier is reported only once
> for each function it appears in
> make[5]: *** [cro.o] Error 1
>
> The cro.c file is this one: ./ncarg2d/src/libncarg_gks/cdrivers/cro.c
>
> Any idea where MP_I is supposed to be defined?
>
> --- Dave
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-install/attachments/20140917/ad7c82a6/attachment.html 


More information about the ncl-install mailing list