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

20030129: DSSERVE/IMGLIST error message (cont.)



>From: "Kwan-yin Kong" <address@hidden>
>Organization: CCNY
>Keywords: 200301272351.h0RNpd617689 McIDAS DSSERVE

Kwan-yin,

>Thank you.  After getting rid of the apostrophy, I was 
>able to list and display the images.  Amazing how an 
>apostrophy can mess things up.

That is pretty amazing, isn't it :-)

>About the path in mcidas and user accounts:  When I 
>proceeded through the steps of installing McIDAS, I had to 
>type in by hand the MCGUI path into the 'set path=(....)' 
>line in .tcshrc before mcidas could be started.  Is this a 
>"standard" step that we have to do?

No, it isn't.  The block of defines that I recommend for
McIDAS, and that you include in your message, should take care of that.

>I don't seem to find 
>that in the mcidas installation tutorial web page.

The setting of the McIDAS environment variables is covered in detail
in the McIDAS installation and configuration portion of the Unidata
McIDAS web site.

In the .tcshrc file you include below, I can see that if you define
path at the top of the file, then when McIDAS gets executed, the
knowledge of where the McIDAS binaries are will get lost.

Let's take an example where you set path at the top of the .tcshrc
file without specifying the path to the McIDAS executables:

# umask
umask 002

set prompt="<-$LOGNAME-> "

alias dir "ls -alg;echo 'Current Directory:';pwd"
alias mv "mv -i"
setenv EDITOR vi
set path= ( /usr/bin /usr/dt/bin /usr/openwin/bin /usr/local/bin /usr/ccs/bin 
/opt/sfw/bin .)

# MCHOME and McINST_ROOT
setenv MCHOME $HOME
setenv McINST_ROOT $MCHOME

# NOTE: conditional definition is only needed for C-shell
users
if ( ! ${?MCPATH} ) then
   setenv MCDATA $MCHOME/workdata
   setenv MCPATH ${MCDATA}:$MCHOME/data:$MCHOME/help
   setenv MCGUI  $MCHOME/bin
   setenv MCTABLE_READ "${MCDATA}/MCTABLE.TXT;$MCHOME/data/ADDESITE.TXT"
   setenv MCTABLE_WRITE "$MCHOME/data/ADDESITE.TXT"
   setenv XCD_disp_file $MCDATA/DECOSTAT.DAT
   if ( ! ${?path} ) then
     set path=$MCGUI
   else
     set path=(${MCGUI} $path)
   endif
endif

# Limit ADDE transfers to compressed ones
setenv MCCOMPRESS TRUE

When you first login, path gets set and then the McIDAS environment
variables get set.  Since MCPATH is not defined at this point, the
code within the 'if ( ! ${?MCPATH} ) then' is executed.  This means
that MCDATA is first set, then MCPATH, then MCGUI, then MCTABLE_READ,
then MCTABLE_WRITE., and then XCD_disp_file.  Then the
'if ( ! ${?path} ) then' section says "if path is not set, then
define it to be $MCGUI; if it is set, put MCGUI at the beginning of the
path.  In this case, path existed, so MCGUI is prepended at the
front of path.

Now when McIDAS is started, mcenv rereads .cshrc and path gets reset.
However, MCPATH now exists, so the McIDAS environment variables
don't get refined, and the 'if ( ! ${?path} ) then' clause never
gets executed.  This leaves you with a path without the location of
the McIDAS binaries in it.

So, if you defined path _after_ the 'if ( ! ${?MCPATH} ) then' block
as follows, you should not see the problem:


# umask
umask 002

set prompt="<-$LOGNAME-> "

alias dir "ls -alg;echo 'Current Directory:';pwd"
alias mv "mv -i"
setenv EDITOR vi

# MCHOME and McINST_ROOT
setenv MCHOME $HOME
setenv McINST_ROOT $MCHOME

# NOTE: conditional definition is only needed for C-shell
users
if ( ! ${?MCPATH} ) then
   setenv MCDATA $MCHOME/workdata
   setenv MCPATH ${MCDATA}:$MCHOME/data:$MCHOME/help
   setenv MCGUI  $MCHOME/bin
   setenv MCTABLE_READ "${MCDATA}/MCTABLE.TXT;$MCHOME/data/ADDESITE.TXT"
   setenv MCTABLE_WRITE "$MCHOME/data/ADDESITE.TXT"
   setenv XCD_disp_file $MCDATA/DECOSTAT.DAT
   if ( ! ${?path} ) then
     set path=$MCGUI
   else
     set path=(${MCGUI} $path)
   endif
endif

# Limit ADDE transfers to compressed ones
setenv MCCOMPRESS TRUE

set path= ( $path /usr/bin /usr/dt/bin /usr/openwin/bin /usr/local/bin 
/usr/ccs/bin /opt/sfw/bin .)

Does this make sense to you?

Tom