[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