[ncl-install] Configure and/or ymake changing Include paths
Crooks, Cynthia J
cynthia.crooks at bp.com
Tue Apr 12 15:25:00 MDT 2016
I think I finally have a build of ncl. At least “ncl –V” and “ng4ex gsun01n” run.
I will look more closely at the log file tomorrow. One error that continues to pop up is “/usr/bin/ld: cannot find –ll”. We have “flex” installed on this system, not lex. Lex is not included in the OS distribution. Is there a clean way to change the library to “-lfl”? Is that even advisable?
The error occurs in
make[4]: Entering directory `/hpc/tstapps/src/ncl/ncl_ncarg-6.3.0/ni/src/mkwrap'
gcc -ansi -fPIC -fopenmp -O -o wrapit77 y.tab.o lex.yy.o Symbol.o wrapit_main.o -L/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib -L/hpc/apps/SLES/3.0/x86_64/ncl_ncarg/6.3.0/lib -ll
/usr/bin/ld: cannot find -ll
collect2: error: ld returned 1 exit status
make[4]: *** [wrapit77] Error
Thanks.
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/917d8ff4/attachment-0001.html
More information about the ncl-install
mailing list