NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
>From: Wahner Paul Contr CSR4500 <address@hidden> >Organization: Cape Canaveral Air Force Station >Keywords: 200102121310.f1CDAFL23157 McIDAS-X Linux & Paul, >I'm finally getting a chance to get back into this project. I do want to >stick to your suggestion of trying to stay as close to the McIDAS >distribution as possible. OK. Originally, I was interested in seeing if your build of the 99.999% SSEC distribution of McIDAS-X on RedHat 7.x would exhibit the same problem serving sounding data through the remote ADDE server as I had seen here at Unidata and at a couple of my sites. I now know that this is a problem that is not limited to the Unidata distribution. I have had several exchanges with SSEC (Dave Santec and others) about the problem. I _think_ that the problem has finally been sent along to John Benson so he could take a good look at what is going on. >So I intend to tackle one problem at a time as >they come up. At this point I'm up to the newer version of Tcl/Tk problem. >Would you be willing to send me a copy of your "tclcomp.sh" file? With that, >then I'll see how far I can get until something else breaks. Sure. By the way, hopefully my mods to tclcomp.sh will show up in the SSEC 7.8 distribution. Here it is: ---------------------------- tclcomp.sh ------------------------------------- #!/bin/sh # # Copyright(c) 1998, Space Science and Engineering Center, UW-Madison # Refer to "McIDAS Software Acquisition and Distribution Policies" # in the file mcidas/data/license.txt # # $Id: tclcomp.sh,v 1.10 1999/04/23 18:39:17 beckys Exp $ # # save program name # prog=`basename $0` # make sure we got the correct number of arguments # if [ $# -ne 4 ]; then echo "Usage: $prog tcldir tclsrc tksrc target" 1>&2 exit 1 fi # save arguments # tcldir="$1" tclsrc="$2" tksrc="$3" target="$4" # if no Tcl source directory... # if [ ! -d "$tclsrc" ]; then echo "$prog: Tcl source directory \"$tclsrc\" does not exist" 1>&2 exit 1 fi # if no Tk source directory... # if [ ! -d "$tksrc" ]; then echo "$prog: Tk source directory \"$tksrc\" does not exist" 1>&2 exit 1 fi # Set use of shared libraries for all systems EXCEPT BSDI and Solaris X86 # # Generation of TK shared libraries appeared busted under Solaris on Intel, but # is OK on Sparc. If this gets fixed in a later OS version, we can remove this # special case. # case `uname -s` in BSD/OS) shared="" ;; FreeBSD) shared="" ;; SunOS) case `uname -i` in i86pc) shared="" ;; *) shared="--enable-shared" esac ;; *) shared="--enable-shared" ;; esac case $CC in gcc) gcc="--enable-gcc" ;; *) gcc="" ;; esac # find Tcl configuration file # tclconf= for i in "$tclsrc/unix/tclConfig.sh" "$tclsrc/lib/tclConfig.sh"; do if [ -f "$i" ]; then tclconf="$i" fi done if [ X"$tclconf" = X ]; then if [ -d "$tclsrc/unix" ]; then (cd "$tclsrc/unix" && ./configure $shared $gcc --prefix="$tcldir" >/dev/null 2>&1) fi tclconf=$tclsrc/unix/tclConfig.sh # if there's STILL no Tcl configuration file... # if [ ! -f "$tclconf" ]; then echo "$prog: Couldn't find Tcl configuration information" 1>&2 exit 1 fi fi # if no Tk configuration file... # tkconf= for i in "$tksrc/unix/tkConfig.sh" "$tksrc/lib/tkConfig.sh"; do if [ -f "$i" ]; then tkconf="$i" fi done if [ X"$tkconf" = X ]; then if [ -d "$tksrc/unix" ]; then (cd "$tksrc/unix" && ./configure $shared $gcc --prefix="$tcldir" \ --with-tcl="../$tclsrc/unix" >/dev/null 2>&1) fi tkconf=$tksrc/unix/tkConfig.sh # if there's STILL no Tk configuration file... # if [ ! -f "$tkconf" ]; then echo "$prog: Couldn't find Tk configuration information" 1>&2 exit 1 fi fi # load Tcl and Tk configuration information # . "$tclconf" . "$tkconf" # get rid of target if it exists # if [ -f "$target" ]; then rm -f "$target" fi # extract library name from Tcl LIB and BUILD specifications # MY_TCL_LIB_NAME=`echo $TCL_LIB_SPEC | sed 's/[ ]*-L[^ ]*//g'` MY_TCL_BUILD_NAME=`echo $TCL_BUILD_LIB_SPEC | sed 's/[ ]*-L[^ ]*//g'` if [ "$MY_TCL_LIB_NAME" != "$MY_TCL_BUILD_NAME" ]; then echo "$prog: Library name mismatch (LIB=$MY_TCL_LIB_NAME, BUILD=$MY_TCL_BUILD_NAME)" 1>&2 exit 1 fi # extract library path from Tcl LIB and BUILD specifications # MY_TCL_LIB_DIR=`echo $TCL_LIB_SPEC | sed 's/[ ]*-l[^ ]*//g'` MY_TCL_BUILD_DIR=`echo $TCL_BUILD_LIB_SPEC | sed 's/[ ]*-l[^ ]*//g'` # extract library name from Tk LIB and BUILD specifications # MY_TK_LIB_NAME=`echo $TK_LIB_SPEC | sed 's/[ ]*-L[^ ]*//g'` MY_TK_BUILD_NAME=`echo $TK_BUILD_LIB_SPEC | sed 's/[ ]*-L[^ ]*//g'` if [ "$MY_TK_LIB_NAME" != "$MY_TK_BUILD_NAME" ]; then echo "$prog: Library name mismatch (LIB=$MY_TK_LIB_NAME, BUILD=$MY_TK_BUILD_NAME)" 1>&2 exit 1 fi # extract library path from Tk LIB and BUILD specifications # MY_TK_LIB_DIR=`echo $TK_LIB_SPEC | sed 's/[ ]*-l[^ ]*//g'` MY_TK_BUILD_DIR=`echo $TK_BUILD_LIB_SPEC | sed 's/[ ]*-l[^ ]*//g'` # build my library specification # MY_LIB_DIR="$MY_TK_BUILD_DIR $MY_TCL_BUILD_DIR $MY_TK_LIB_DIR $MY_TCL_LIB_DIR" MY_LIB_NAME="$MY_TK_LIB_NAME $MY_TCL_LIB_NAME" # create the target using the Tcl & Tk configuration information # cat > "$target" <<EOF #!/bin/sh # if this is Solaris, need to add a run-time path when linking # <<<<< UPC mods 981130 >>>>> - added Linux and OSF1 to list # of OSes needing RUNTIME_PATH # RUNTIME_PATH= case \`uname -sr\` in "SunOS 5."*) RUNTIME_PATH="-R $TCL_PREFIX/lib";; "Linux 2."*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";; OSF1*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";; IRIX*) RUNTIME_PATH="-Wl,-rpath,$TCL_PREFIX/lib";; HP-UX*) RUNTIME_PATH="-Wl,+b,$TCL_PREFIX/lib";; esac # need different sets of flags for compiling and linking # eval \`linking=yup while [ \$# -gt 0 ]; do case \$1 in -c) linking= break ;; esac shift done if [ -z "\$linking" ]; then tclflags="$TCL_DEFS $TK_DEFS" else tclflags="\$RUNTIME_PATH $MY_LIB_DIR $MY_LIB_NAME $TK_LIBS $TCL_LIBS" fi echo "tclflags='\$tclflags'"\` # let compiler do the rest of the dirty work # compiler=\$1; shift exec \$compiler \$* \$tclflags || exit 1 EOF # make sure the target is executable # chmod a+x "$target" # success! # exit 0 ---------------------------- tclcomp.sh ------------------------------------- Tom