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

Re: 19990913: building ldm-mcidas decoders under IRIX64


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
    CFLAGS='-n32 -O -Wl,-woff,84 -Wl,-woff,85'   # disable warnings 84 & 85
    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:

--------     -------                    -------
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


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  -------

NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.