[ncl-install] Configure and/or ymake changing Include paths

Crooks, Cynthia J cynthia.crooks at bp.com
Wed Apr 13 11:07:48 MDT 2016


Mary,

The compile completed.  The intended user has been able to bring up the application and load the utilities she needs.  She hopes to process some data later this week.

Thanks for your help.

Cindy

From: Mary Haley [mailto:haley at ucar.edu]
Sent: Tuesday, April 12, 2016 5:01 PM
To: Crooks, Cynthia J
Cc: ncl-install at ucar.edu
Subject: Re: [ncl-install] Configure and/or ymake changing Include paths

Cindy,

You can change the definition of this library in the $NCARG/config/Template file:
#define LexLibrary -ll
Once you do this, you will need to remake the Makefiles in order for the change to take effect:
cd $NCARG
make Makefiles
We may have to change this library eventually, because we are seeing other people with the same issue as you, oddly in the same week.
--Mary


On Tue, Apr 12, 2016 at 3:25 PM, Crooks, Cynthia J <cynthia.crooks at bp.com<mailto:cynthia.crooks at bp.com>> wrote:
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<mailto:haley at ucar.edu>]
Sent: Tuesday, April 12, 2016 11:24 AM
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

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/20160413/949d0b88/attachment-0001.html 


More information about the ncl-install mailing list