[ncl-install] NCL 5.1.0 / sed problem on IA64 cluster

Mark Van Moer mvanmoer at ncsa.illinois.edu
Mon Jun 8 09:09:24 MDT 2009


Hi, escaping the plus signs worked. I'm now down to a single error:

Fatal compilation error: Out of memory asking for 69632.
compilation aborted for y.tab.c (code 1)
make[4]: *** [y.tab.o] Error 1
make[4]: Leaving directory `/usr/projects/vis/ncl/ncl_ncarg-5.1.0/ni/src/mkwrap'

It's hard to tell what's going on through the batch monitoring system on this particular cluster, but doing a make all install in that directory does slowly eat up RAM until it crashes. I requested 12GB of RAM from the queue. Any ideas about this?

Thanks,
Mark



----- Original Message -----
From: "David Brown" <dbrown at ucar.edu>
To: "Mark Van Moer" <mvanmoer at ncsa.illinois.edu>
Cc: "ncl-install" <ncl-install at ucar.edu>
Sent: Thursday, June 4, 2009 5:11:47 PM GMT -06:00 US/Canada Central
Subject: Re: [ncl-install] NCL 5.1.0 / sed problem on IA64 cluster


Yeah, in this case '+' turns out not to be a good choice of delimiter  
for the sed commands.
You could try changing '-lstdc++'  to '-lstdc\+\+' (just in one of  
the Makefiles that is failing first: to see if it works).
If that doesn't work then you will have to change the sed delimiter  
in the affected commands. I think that sed can use any character for  
the delimiter. Maybe '!' or '^' would be better.

On Jun 4, 2009, at 3:11 PM, Mark Van Moer wrote:

> Hi Dave,
> I think you found it.
>
> $ grep CTOFLIBS Makefile
> CTOFLIBS        = -lm -lifcore -lifport -lstdc++
>         @sed    -e 's+SED_CC+$(CC)+'    -e 's+SED_LIBSEARCH+$ 
> (LIBSEARCH)+'      -e 's+SED_STDDEF+$(STD_DEFINES)+'   -e 's 
> +SED_PROJDEF+$(PROJECTDEFINES)+'   -e 's+SED_LDCFLAGS+$ 
> (CC_LDOPTIONS)+'        -e 's+SED_SYSTEM_INCLUDE+$(SYSTEM_INCLUDE) 
> +'    -e 's+SED_XLIB+$(XLIB)+'    -e 's+SED_PNGLIB+$(PNGLIB)+'    - 
> e 's+SED_CTOFLIBS+$(CTOFLIBS)+'    -e 's+SED_LIBDIR+$(LIBDIR)+'    - 
> e 's+SED_INCDIR+$(INCDIR)+'    -e 's+SED_NCARGDIR+$(NCARGDIR)+'    - 
> e 's+SED_ROBJDIR+$(ROBJDIR)+'  <ncargcc.csh >ncargcc
>
>
> I had added -lstdc++ to CtoFLibraries in $NCARG/config/LINUX  
> because previously I'd been getting errors like:
>
> /usr/projects/compilers/intel/8.1.037/lib/libifcore.so.6: undefined  
> reference to `__cxa_end_catch'
> /usr/projects/compilers/intel/8.1.037/lib/libifcore.so.6: undefined  
> reference to `std::terminate()'
> /usr/projects/compilers/intel/8.1.037/lib/libifcore.so.6: undefined  
> reference to `__cxa_begin_catch
>
> sed must be interpreting those plus signs on stdc++ as delimiters.
>
> Is there a better way to fix the original errors?

I don't know enough about the intel compilers to answer that. Maybe  
someone else will know.
  -dave


> Thanks,
> Mark
>
> ----- Original Message -----
> From: "David Brown" <dbrown at ucar.edu>
> To: "Mark Van Moer" <mvanmoer at ncsa.illinois.edu>
> Cc: "ncl-install" <ncl-install at ucar.edu>
> Sent: Thursday, June 4, 2009 3:56:53 PM GMT -06:00 US/Canada Central
> Subject: Re: [ncl-install] NCL 5.1.0 / sed problem on IA64 cluster
>
> Hi Mark,
>
> If you look at the Makefile in each of the directories that give the
> error you will see that sed is run with multiple '-e' arguments for
> each of the commands it is trying to build.
> I am guessing that the 'expression #x' part of the error message is
> referring to the particular '-e' argument that results in the error.
> Following this hypothesis the failing commands are:
> -e 's+SED_CTOFLIBS+$(CTOFLIBS)+'    # for ncargcc
> -e 's+SED_EXTRA_LDLIBS+$(EXTRA_LDLIBS)+'   # for MakeNcl
> -e 's+SED_CTOFLIBS+$(CTOFLIBS)+'     # for nhlf77
>
> Not all the same, but looking a little further in the ncl directory,
> you can see if you trace back the EXTRA_LDLIBS also includes
> CTOFLIBS. Therefore my guess is that there is something that your
> version of sed does not like about the way your CTOFLIBS is defined.
>
> So can you look in any of these Makefiles and see what the definition
> of CTOFLIBS is?
>   -dave
>
>
> On Jun 4, 2009, at 2:00 PM, Mark Van Moer wrote:
>
>> Hello, I'm attempting to build NCL 5.1.0 on an IA64 cluster. The
>> build has three sed errors:
>>
>> make[5]: Entering directory `/usr/projects/vis/ncl/ncl_ncarg-5.1.0/
>> ncarg2d/src/binscripts'
>> sed: -e expression #9, char 45: unknown option to `s'
>> make[5]: *** [ncargcc] Error 1
>>
>> Similar errors appear 2 other times later in the build:
>>
>> sed: -e expression #4, char 62: unknown option to `s'
>> make[4]: *** [MakeNcl] Error 1
>> make[4]: Leaving directory `/usr/projects/vis/ncl/ncl_ncarg-5.1.0/
>> ni/src/ncl'
>>
>> sed: -e expression #5, char 45: unknown option to `s'
>> make[4]: *** [nhlf77] Error 1
>> make[4]: Leaving directory `/usr/projects/vis/ncl/ncl_ncarg-5.1.0/
>> ni/src/scripts'
>>
>>
>> Is sed not liking how a makefile macro is being expanded? Anyone
>> know what I should approach troubleshooting this? Searching seems
>> to indicate a possible problem with delimiters. Is it possible a
>> macro is expanding that contains the delimiter?
>>
>> Thanks for any help,
>> Mark
>>
>> -- 
>> Mark Van Moer
>> Visualization Programmer
>> Advanced Applications Support
>> NCSA, University of Illinois
>> mvanmoer at ncsa.illinois.edu
>>
>> _______________________________________________
>> ncl-install mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-install
>
>
> -- 
> Mark Van Moer
> Visualization Programmer
> Advanced Applications Support
> NCSA, University of Illinois
> mvanmoer at ncsa.illinois.edu
>


-- 
Mark Van Moer
Visualization Programmer
Advanced Applications Support
NCSA, University of Illinois
mvanmoer at ncsa.illinois.edu



More information about the ncl-install mailing list