[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