[ncl-install] Configure and/or ymake changing Include paths
    Crooks, Cynthia J 
    cynthia.crooks at bp.com
       
    Tue Apr 12 12:37:02 MDT 2016
    
    
  
Mary,
Thank you for the explanation.  I did find a workaround for the PATH problem.  I am trying to build this so that it is generally available to our users.  The “x86_64” is part of our application setup and I can’t change that without creating major issues.
I have dropped back to gcc-4.9.2 because 5.2.0 does not have a libfortran.so library.  I am still having a lot of “warnings” from makedepend:
        not in ../../../.././include/stddef.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/stddef.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2/stddef.h
        not in /usr/include/stddef.h
makedepend: warning:  rgb.c (reading /usr/include/_G_config.h, line 15): cannot find include file "stddef.h"
        not in ../../../.././include/stddef.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/stddef.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2/stddef.h
        not in /usr/include/stddef.h
makedepend: warning:  rgb.c (reading /usr/include/wchar.h, line 52): cannot find include file "stddef.h"
        not in ../../../.././include/stddef.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/stddef.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2/stddef.h
        not in /usr/include/stddef.h
makedepend: warning:  rgb.c (reading /usr/include/libio.h, line 53): cannot find include file "stdarg.h"
        not in ../../../.././include/stdarg.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/stdarg.h
        not in /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2/stdarg.h
        not in /usr/include/stdarg.h
Gcc-4.9.2 is installed in a non-standard location.  It does not look like it is being search.  I can find the *.h files in the gcc-4.9.2 installation directories.  Some are under the “include”, others are under “lib”.  In both cases the files are buried several directories below include and lib.  I am not sure how many levels need to be specified.
I will play with the “-I” settings in Site.local and try adding the gcc includes.  If that doesn’t work I will send an updated note with logs, etc.
Thanks again for your help.
Cindy
From: Mary Haley [mailto:haley at ucar.edu]
Sent: Tuesday, April 12, 2016 11:24 AM
To: Crooks, Cynthia J
Cc: ncl-install at ucar.edu
Subject: Re: [ncl-install] Configure and/or ymake changing Include paths
The problem is that the string "x86_64" is a system predefined macro that is basically a flag (0 or 1) as to whether you are on a 64-bit system. When the Makefile gets generated, the preprocessor is converting this to a 1 because you are on a 64-bit system. By renaming it to "x86.64", which is NOT a predefined macro, then, you get around this problem.
I will see if somebody can find a work-around to the other issue you mentioned.
At least temporarily, you can choose to install NCL to whatever parent directory you want (that doesn't have "x86_64" in the name), and then simply move the "bin", "lib", and "include" directories to  /hpc/apps/SLES/3.0/1/ncl_ncarg/6.3.0 afterwards.
--Mary
On Mon, Apr 11, 2016 at 1:53 PM, Crooks, Cynthia J <cynthia.crooks at bp.com<mailto:cynthia.crooks at bp.com>> wrote:
Mary,
I have to update my last response.  Adding the “” did make a difference.  I found I also had to add it to the
                #define YmakeRoot "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"
Unfortunately, that creates another problem:
YMAKEROOT               = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"
BINROOT                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/bin
LIBROOT                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/lib
INCROOT                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/include
MANROOT                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/man
TMPROOT                 = /tmp
ROOTPATH                = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"
BINPATH                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/bin
LIBPATH                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/lib
INCPATH                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/include
MANPATH                 = "/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0"/man
LIBSEARCH               = "-L/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib"
INCSEARCH               = "-I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include -
I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2"
I also found that if I change “x86_64” to “x86.64” in Site.local, I don’t need the “” and the paths show up in the Make file the way I would expect.  Unfortunately, that is now how our app file system tree has been built.
I think I have found a “work around”.  I set an environment variable called HPCAPPDIR to “/hpc/apps/SLES/3.0/x86_64”.  I then edited the Site.local and replaced that portion of the various paths with ${HPCAPPDIR}.  It is important to use the {} notation.  It looks like most things have built and are being installed in the correct location.
Now I need to figure out what I did wrong with my INCLUDE path.  It’s always something.
Cindy
From: Mary Haley [mailto:haley at ucar.edu<mailto:haley at ucar.edu>]
Sent: Sunday, April 10, 2016 1:54 PM
To: Crooks, Cynthia J
Cc: ncl-install at ucar.edu<mailto:ncl-install at ucar.edu>
Subject: Re: [ncl-install] Configure and/or ymake changing Include paths
Cindy,
Try adding quotes around the -L path in your Site.local file:
#define LibSearch "-L/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib"
#define IncSearch "-I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include -I/hpc/ap\
ps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2"
You will need to remake the Makefiles:
cd $NCARG
make me
make Makefiles includes depend all install
--Mary
On Fri, Apr 8, 2016 at 12:59 PM, Crooks, Cynthia J <cynthia.crooks at bp.com<mailto:cynthia.crooks at bp.com>> wrote:
Hello,
I am trying to build ncl_ncar-6.3.0. I am building on a SLES 11 SP 3 machine and using the gcc-5.2.0 compiler.  I am building  without the optional software.  Parts of the build are failing because the PATHS in the Makefile are incorrect.  The paths should include  “3.0/x86_64/ncl_ncarg”, but they are being changed to “3.0/1/ncl_ncarg”.  The Site.local appears to have the correct paths:
#define YmakeRoot /hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0
#define LibSearch -L/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib
#define IncSearch -I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include -I/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/include/freetype2
The Makefiles, however, do not.
YMAKEROOT               = /hpc/apps/SLES/3.0/1/ncl_ncarg/6.3.0
BINROOT                 = /hpc/apps/SLES/3.0/1/ncl_ncarg/6.3.0/bin
LIBROOT                 = /hpc/apps/SLES/3.0/1/ncl_ncarg/6.3.0/lib
INCROOT                 = /hpc/apps/SLES/3.0/1/ncl_ncarg/6.3.0/include
MANROOT                 = /hpc/apps/SLES/3.0/1/ncl_ncarg/6.3.0/man
I have attached my Site.local and the top level Makefile.
I have tried rerunning Configure to verify that I put in the correct paths.  I get the same result.
I would appreciate any help you can offer.  Let me know what other information you might require.
Thanks.
Cindy
_______________________________________________
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/20160412/040654cb/attachment-0001.html 
    
    
More information about the ncl-install
mailing list