[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 19990913: building ldm-mcidas decoders under IRIX64



Greetings;

I believe I have *solved* this one.(Translation = I figured out
what *I* was doing wrong!) I may also have discovered a minor
documentation anomaly or two.

In the INSTALL file for ldm-mcidas-7.6.1, it has the following
suggested values for environment variables to be set before
building the ldm-mcidas decoders:

IRIX chevy 6.5 07271713 IP22
    CPPFLAGS=
    CC=/bin/cc
    CFLAGS='-n32 -O -Wl,-woff,84 -Wl,-woff,85'   # disable warnings 84 & 85
    FC=/bin/f77
    FFLAGS='-n32 -O -Wl,-woff,84 -Wl,-woff,85'   # disable warnings 84 & 85
    CPP_MCIDAS=-I/home/mcidas/mcidas7.6/src                 # site specific
    LD_MCIDAS='-L/home/mcidas/lib -lmcidas'                 # site specific
    CPP_NETCDF=-I/home/mcidas/mcidas7.6/netcdf/libsrc       # site specific
    LD_NETCDF='-L/home/mcidas/mcidas7.6/netcdf/libsrc -lnetcdf' # use of
                                         # netcdf bundled with McIDAS-X 7.6

We're running IRIX64 on 'mop1' (uname -a yields 'IRIX64 mop1 6.5 01221553 IP27')
but I figured this was a good start. I set the following environment
variables in ~ldm/.cshrc (so I could see later *exactly* what I had done):

setenv CFLAGS     '-n32 -O -Wl,-woff,84 -Wl,-woff,85'
setenv FFLAGS     '-n32 -O -Wl,-woff,84 -Wl,-woff,85'
setenv CPP_MCIDAS '-I/mop1/mcidas/mcidas7.6/src'
setenv LD_MCIDAS  '-L/mop1/mcidas/lib -lmcidas'
setenv CPP_NETCDF '-I/mop1/mcidas/mcidas7.6/netcdf/libsrc'
setenv LD_NETCDF  '-L/mop1/mcidas/mcidas7.6/netcdf/libsrc -lnetcdf'

(I did *not* set 'CC','FC', or 'CPPFLAGS')

I did 'source ~ldm/.cshrc'.
Then in /mop1/ldm-mcidas/ldm-mcidas-7.6.1/src did './configure >& configure.log'
In configure.log I got the following:

-----------------------------------------------------------------------
./configure: ERROR: The following variables need values:

VARIABLE     DESCRIPTION                EXAMPLE
--------     -------                    -------
CPP_LDM      LDM header                 -I/usr/local/unidata/include
LD_LDM       LDM library                -L/usr/local/unidata/lib -lldm

The above variables may be set in the environment or in the file
CUSTOMIZE.  Variables referring to executable programs needn't be set
if the relevant directory is added to PATH.  In any case, ./configure
should probably be rerun.  See file INSTALL for details.
-----------------------------------------------------------------------

(A very *useful* error message BTW!)

I then added the following definitions to ~ldm/.cshrc, but, as you
can plainly see, I forgot to edit them correctly(!):

setenv CPP_LDM    '-I/usr/local/ldm/include'
setenv LD_LDM     '-L/usr/local/unidata/lib -lldm'

(This is what I get for trying to build something *right before lunch*...)

This made 'configure' happy, but 'make' of course failed with
the message I sent in my first e-mail. After your reply, I looked
at the problem again, and discovered my error. I re-edited the
definitions of 'CPP_LDM' & 'LD_LDM':

setenv CPP_LDM    '-I/mop1/ldm/include'
setenv LD_LDM     '-L/mop1/ldm/lib -lldm'

I did 'source ~ldm/.cshrc', then 'make' which this time got further
but died with a message stating it could not find libldm.a. I looked
in /mop1/ldm/ldm-5.0.8/lib and, oddly enough there was *nothing*
there. However I discovered that libldm.a was alive and well in
/mop1/ldm/ldm-5.0.8/src. I changed the definition of 'LD_LDM'
one more time:

setenv LD_LDM     '-L/mop1/ldm/src -lldm'

And then 'make' worked perfectly. 'make test' however died with
the following:

        ././nldn2md -d `pwd` -vl- 70 NLDN DIALPROD=LD X X  < 9912406.nldn
sh: 9912406.nldn: cannot open: No such file or directory

I ignored this and ran 'make install' and 'make clean' which
both worked fine.

To summarize, I believe I now have ldm-mcidas-7.6.1 built
correctly, and I discovered three possible anomalies:

1) The ldm-mcidas-7.6.1 INSTALL file mentions the environment
variables 'CPP_LDM' and 'LD_LDM' in section 4, but the example for
IRIX does not. Neither does the web page mentioned in (2) below.

2) 'make test' does not work. This might also be an INSTALL
file revision problem; the web page

http://www.unidata.ucar.edu/packages/mcidas/mcidd/ldm-mcidas-build.html

recommends that ldm-mcidas-7.6.1 be built with the command

make all install clean >&! log &

which presumably omits the 'make test' step.

3) When I built ldm-5.0.8, apparently the 'make install' did
not move libldm.a into ~ldm/ldm-5.0.8/lib but left it in 
~ldm/ldm-5.0.8/src. Maybe this is how it's supposed to be,
but the existence of an empty ~ldm/ldm-5.0.8/lib directory
is suspicious... there is stuff in 'bin', 'include', 'man'...


My apologies for hasty editing. At least I had the presence of
mind to warn you not to work too hard on this one! I hope my
observations  will be of some use.


Thanks again for all your help!

Steve Carson

----------------------------------------------------------------
Steven G. Carson       NCAR/ACD            voice: (303) 497-2916
Software Engineer II   PO Box 3000           fax: (303) 497-2920
MOPITT Program         Boulder, CO 80307   email: address@hidden
-----------------------------------------  radio: W0SGC  -------