[ncl-install] v5.1.1: make fails due to macro substitution.

David Brown dbrownjr at umn.edu
Mon Nov 9 16:54:50 MST 2009


I am doing a build for a Redhat (4) Linux cluster.  A previously 
installed package has "linux" in its path (e.g. hdfeos/lib/linux). I do 
not believe this was an install decision as I see other architecture 
references (e.g. Mac) in the same lib folder. The above lib path is 
specified during "configure", but the associated top level Makefile file 
has "1" substituted where "linux" is encountered in the lib path (i.e. 
hdfeos/lib/1). 

If I change this back to "linux" and run  "make",  I receive the 
following error:

pgCC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/usr/local/include -O  
-Wl,--export-dynamic   -o ncl Ncl.o io.o NclHLUObj.o scanner.
o parser.o MathFuncs.o NclTypedouble.o NclTypefloat.o
...

-L../../.././ni/src/lib/nfp -lnfp -L../../.././ni/src/lib/nfpfort 
-lnfpfort -L../../.././ni/src/lib/hlu -lhlu 
-L../../.././ncarg2d/src/libncarg -lncarg
...
-L/soft/local/hdf/hdf-4.2r3/lib 
-L/soft/local/hdf-eos/hdf-eos-2.14/hdfeos/lib/1   // This "1" was 
entered as "linux" as indicated above.
...
-L../../.././external/lapack -llapack_ncl -L../../.././external/blas 
-lblas_ncl -lX11 -pgf90libs -lm  -ldl 
/usr/bin/ld: cannot find -lhdfeos
make[3]: *** [ncl] Error 2
make[3]: Leaving directory `/soft/local/ncl-5.1.1/ni/src/ncl'

The associated "/soft/local/ncl-5.1.1/ni/src/ncl/Makefile" does not 
exist before the call to "make". After the call to "make" and the above 
error occurs, the above Makefile is present and has the incorrect 
'hdfeos' path. Furthermore, the top level makefile again has the 
incorrect path.
 
This is the make call that is being executed:

   make me Makefiles clean includes depend all

There are multiple Makefile files affected by the substitution. As far 
as foiling the substitution through the usage of quoted paths, the 
"configure" tool does not accept such paths and the "make" process 
appears to be rewriting the Makefile files.


Does anyone know of a way of preventing this substitution from taking 
place?

Thanks in advance.

David





More information about the ncl-install mailing list