Re: v5.1.1: make fails due to macro substitution.

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Mon Nov 09 2009 - 17:28:07 MST

Hi David,

You can get around the substitution by putting single ticks around
the '-L/soft/local/hdf-eos/hdf-eos-2.14/hdfeos/lib/linux' in your
$NCARG/config/LINUX or $NCARG/config/Site.local file, wherever it is.

However, did you see the HDF-EOS build instructions:

   http://www.ncl.ucar.edu/Download/build_from_src.shtml#HDFEOS2

These instructions suggest moving the "libhdfeos.a" file to another
directory.

I see that you are linking directly to the external libraries in the
directories that they live in the original source code directory.
This might cause problems later with finding include files. It's
better to install all this external software to one single set of
directories, like /usr/local/{lib,include,bin} so then you only need
to have:

   -L/usr/local/lib -I/usr/local/include

on your compile line for all external software packages.

--Mary

On Nov 9, 2009, at 4:54 PM, David Brown wrote:

> 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
>
>
>
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-install

_______________________________________________
ncl-install mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-install
Received on Mon Nov 9 17:27:32 2009

This archive was generated by hypermail 2.1.8 : Wed Nov 11 2009 - 12:51:06 MST