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

Mary Haley haley at ucar.edu
Thu Sep 18 11:35:17 MDT 2014


If I may jump in here: Sometimes when I have problems building "cro.c", I
try this:


   - cd to the directory that contains the "cro.c" file, which should be"
   $NCARG/ncarg2d/src/libncarg_gks/cdrivers
   - Edit the "Makefile" with a UNIX editor and remove all references to
   "-ansi".
   - After you save the file, type "make cro.o" in the same directory and
   see if there are any errors.
   - If not, then type "make me" in the same directory to remake that
   Makefile, and then cd back to $NCARG to start the build up again:
      - make all install


Be sure to send the "make all install" output to a file, if you desire.
Once "cro.o" builds successfully, this should cause "libncarg_gks.a" to
build successfully, and hence the "undefined _ggkwdr_" errors should
disappear.

--Mary


=


On Wed, Sep 17, 2014 at 10:26 AM, Rick Brownrigg <brownrig at ucar.edu> wrote:

> 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
>>
>>
>>
>
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-install
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-install/attachments/20140918/f9986638/attachment-0001.html 


More information about the ncl-install mailing list