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

19990825: Tcl/Tk configure step in McIDAS-X build



>From: Jim Heimbach <address@hidden>
>Organization: UNCA
>Keywords: 199908251454.IAA21892 McIDAS PATH

Jim,

>      O.K., so here I go again.  I'm in the process of installing 
>McIDAS-X 7.6 after a long summer of being away from my UNIX boxes.
>This time the installation is on a Sun ULTRA-2 with a recently-
>installed SOLARIS 7 operating system which has been vexing to us.
>The last time was on a LINUX box -- worked great!

We use both here at Unidata.  I personally find that Solaris is easier
and more bug free that Linux.

>     7.6 was downloaded and uncompressed as advertized, then the  
>first of what will probably be many glitches occured.  This is with 
>the tcl/tk configuration.  The make mcx did the "Couldn't find Tcl 
>configuration information" thing, so I tried running the telconfig outside
>the make and got,
>
>==============================================================================
> =
>vortex% pwd
>/home/mcidas/mcidas/mcidas7.6/src
>vortex% tclconfig $McINST_ROOT/tcl ../tcl ../tk tclcomp
>loading cache ./config.cache
>checking for ranlib... ranlib
>checking whether cross-compiling... yes
 ...

This line is telling us that the the Tcl configure thinks that it is
going to be compiling for a different system.  This is typically caused
by an incorrect PATH, meaning that the copy of CC that is being found
is either the non-ansi version that comes with Solaris (the one in
/usr/ucb) or that the C compiler can't be found.  In both cases, the
solution is:

o correct your PATH so that the Sun ANSI C compiler will be found
  in preference to the freebie in /usr/ucb.  The typical location of
  the Sun ANSI C compiler is /opt/SUNWspro/bin (if you purchased the
  Sun workshop compilers)

o if you don't have the Sun workshop compilers, then you will need to
  use gcc and f2c (f2c converts Fortran source into C source).  You
  can NOT use the g77 "Fortran" compiler that comes with gcc since
  it does not work correctly for McIDAS (or GEMPAK).

As soon as your session can find and use the Sun ANSI C compiler (or
the gcc/f2c combination), then you need to:

cd ~mcidas/mcidas7.6/src
rm tclcomp
cd ../tcl/unix
make distclean                  (if configure got far enough to create Makefile)
 or
rm -f config.cache config.log config.status

You may have to do the same things in the ../tk/unix directory.

>==============================================================================
>
>     My first concern is with $McINST_ROOT.  I have this as,
>
>==============================================================================
>vortex% echo $McINST_ROOT
>/home/mcidas

This is correct.

>==============================================================================
>
>Or should this be /home/mcidas/mcidas/mcidas7.6?

No.  If the HOME directory for 'mcidas' is /home/mcidas, then McINST_ROOT
should be set to be /home/mcidas.

>     Also, I am getting lost in a hurry on the paths in SOLARIS 7.  Here's
>what I have for path;
>
>==============================================================================
> =
>vortex% echo $path
>/home/mcidas/bin /usr/sbin /sbin /usr/lib /usr/local/ws/opt/SUNWspro/bin /usr/
> lib/acct /usr/local/ws/SUNWspro/lib /usr/openwin/bin /usr/local/bin /usr/ccs/
> bin /usr/bin /usr/ucb /usr/css/lib /usr/dt/bin .
>==============================================================================
> =

If this is your PATH, then the correct version of the ANSI C compiler should
have been found if it is located in /usr/local/ws/opt/SUNWspro/bin.  You
should check this by using 'which':

which cc

If the one being found is the one in /usr/ucb, then you either don't have the
Sun workshop compilers installed or they are installed somewhere else.
The important thing to remember in your PATH is to have /usr/ucb _way_
down in the list of directories.

>     And in the for-what-it's-worth department, here are relevant entries
>in the .cshrc file
>
>==============================================================================
> =
>setenv McINST_ROOT /home/mcidas
>if (! ${?MCPATH}) then
>setenv MCDATA /data/mcidas/workdata

         ^_  Wrong unless /data/mcidas is the same as /home/mcidas

The MCDATA directory for the user 'mcidas' should be ~mcidas/workdata.
The MCDATA directory for other users that will be running McIDAS is:
~user/mcidas/data.

>setenv MCPATH ${MCDATA}:/data/mcids/data:/home/mcidas/help

                          ^_ hopefully, you mean /home/mcidas/data

>setenv MCGUI /home/mcidas/bin
>setenv MCTABLE_READ "$(MCDATA)/MCTABLE.TXT;/data/mcidas/data/ADDESITE.TXT"

                                             ^_ again, this would be 
                                                /home/mcidas/mcidas/data

>setenv MCTABLE_WRITE "/data/mcidas/data/ADDESITE.TXT"
                        ^_ again, this would be 
                           /home/mcidas/mcidas/data


>setenv XCD_disp_file $MCDATA/DECOSTAT.DAT
>endif

>setenv PATH ${MCGUI}:$PATH
>
>           .
>           .
>           .
>
># The following is for Solaris
>      set personal_dir="${home}/bin"
>      setenv LD_LIBRARY_PATH /usr/css/lib:/usr/openwin/lib:/usr/lib:/usr/local
> /ws
>/opt/SUNWspro/lib:/usr/dt/lib:/usr/local/lib:/usr/ucblib
>      set path = ( \
>                    ${personal_dir}                     /usr/sbin            \
>                    /sbin                              /usr/lib              \
>                    /usr/local/ws/opt/SUNWspro/bin     /usr/lib/acct         \
>                    /usr/local/ws/SUNWspro/lib                               \
>                    /usr/openwin/bin                   /usr/local/bin        \
>                    /usr/ccs/bin                       /usr/bin              \
>                    /usr/ucb                           /usr/css/lib          \
>                    /usr/dt/bin . )
>               
>      alias mail "/usr/ucb/Mail"
>      setenv MANPATH /usr/local/ws/opt/SUNWspro/man:/usr/man:/usr/openwin/man:
> /us
>r/local/man:/usr/dt/man
>       breaksw
>==============================================================================
> =
>
>                  And another perhaps related problem:
>
>     If permissions and paths are the problem,

No, I don't think so.

>then the following is related.
>We installed SOLARIS 7 replacing SOLARIS 6, then cranked up ldm and 
>ldm-mcidas without any changes.

Eventually, you will want to upgrade to the 7.6.1 version of the ldm-mcidas
decoders as they have the changes needed for Y2K compatibility.

>McIDAS AREA files being decoded by
>ldm-mcidas are not being allowed to be written, in spite of the permissions
>being set to w.  An example from /ldmd.log:
>
>==============================================================================
> =
>Aug 25 04:05:59 vortex.atms.unca.edu pqact[12774]: pipe_dbufput: /home/ldm-mci
> d/b
>in/lwtoa3-v-x-d/data/mcidas/data write error
>Aug 25 04:05:59 vortex.atms.unca.edu pqact[12774]: pipe_prodput: trying again
>Aug 25 04:06:00 vortex.atms.unca.edu pqact[12774]: pbuf_flush (4) write: Broke
> n p
>ipe
>Aug 25 04:06:00 vortex.atms.unca.edu pqact[12774]: pipe_dbufput: /home/ldm-mci
> d/b
>in/lwtoa3-v-x-d/data/mcidas/data write error
>Aug 25 04:06:00 vortex.atms.unca.edu pqact[12774]: child 1074 terminated by si
> gna
>l 9
>Aug 25 04:06:00 vortex.atms.unca.edu pqact[12774]: child 1073 terminated by si
> gna
>l 9
>==============================================================================
> =

What is the directory you are telling 'lwtoa3' to write to (in pqact.conf)?
Who owns the directory?  What are the read/write/execute permissions on
the directory?  Can you, as the user that runs the LDM, create a file
in that directory (e.g. touch directory/xxx)?  Did you follow the online
McIDAS instructions and make sure that:

o the user running the LDM, the 'mcidas' user, and 'mcadde' (McIDAS ADDE
  remote server) are all in the same group
o the umask for user running the LDM and 'mcidas' be set to 002
  (i.e. 'umask 002' should be in each user's .cshrc file)

>    Ingesting and storing DD+ data using the same ldm run is having no
>problem.  I am storing all the McIDAS data in /data/mcidas/data. 

So, /data/mcidas/data IS different than /home/mcidas/data.  This tells me
that you really must go back into the McIDAS account and change your
MCDATA, MCPATH, MCTABLE_READ and MCTABLE_WRITE settings.

>The DD+ data go to /data/ldm/data/...  The last day that McIDAS data were
>written was Aug 6, the day we switched to the Fearful SOLARIS 7.

I would suspect either the umask for the user running the LDM or the
permissions on the directory.

>     Feel free to prowl around on vortex...

OK, I will.  I just took a quick look and see a number of things
that I would change to bring the McIDAS installation into line with
my recommendations.  The question back to you is whether or not you
want me to make the changes.  I also note that you have not setup your
ldm to run the McIDAS XCD decoders (good thing since your McIDAS build
did not complete).  Do you this updated?

Tom