[Halld-online] broken TCL for hdops

David Lawrence davidl at jlab.org
Wed Nov 15 08:55:18 EST 2017


Hi,

  I just edited $CODA/.setup to fix this. It looks like it was changed to look if
CODA_VME_LIB was defined as an indicator of it being a ROC (as opposed
to being RHEL5 as was done in the past). CODA_VME_LIB *is* being set to
something useful if /dev/vme_ctl exists, but it is being initialized to an empty
string earlier in the script so it is always set no matter what.

  I changed it to only set the TCL and related variables if /dev/vme_ctl exists.
Someone in the CODA group will probably want to change this upstream so
it is not broken on the next update.

Regards,
-David

-------------------------------------------------------------
David Lawrence Ph.D.
Staff Scientist, Thomas Jefferson National Accelerator Facility
Newport News, VA
davidl at jlab.org
(757) 269-5567 W
(757) 746-6697 C


> On Nov 14, 2017, at 2:07 PM, Hovanes Egiyan <hovanes.egiyan at gmail.com> wrote:
> 
> Somehow this problem is happening again, the TCL_LIBRARY variable is set (to old version) for
> hdops and other accounts for non-ROC machines. We somehow had a temporary fix for that
> but I guess it got broken with new CODA setup.
> 
> Hovanes.
> 
> 
> 
> On 10/24/2014 08:14 PM, Hovanes Egiyan wrote:
>> Thanks Dave,
>> I changed it to only set these variables for RHEL version 5 as a quick fix, seems to work for now.
>> Hopefully noone else uses TCL on ROCs but CODA. Then we can figure out
>> how to deal with those variables more properly.
>> Hovanes.
>> 
>> 
>>         set RHEL_VERSION=`awk '/release/{print substr($0,match($0,/[123456789]/),1)}' /etc/redhat-release`
>>         if( ${RHEL_VERSION} == '5' ) then
>>             setenv TCL_LIBRARY $CODA/common/lib/tcl7.4
>>             setenv ITCL_LIBRARY $CODA/common/lib/itcl2.0
>>             setenv TK_LIBRARY  $CODA/common/lib/tk
>>             setenv ITK_LIBRARY  $CODA/common/lib/itk2.0
>>             setenv DP_LIBRARY  $CODA/common/lib/dp
>>             setenv TIX_LIBRARY $CODA/common/lib/tix
>>             setenv TCLINCLUDE_DIR $CODA/common/include
>>             setenv TKINCLUDE_DIR $CODA/common/include
>>     endif
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On 10/24/2014 07:53 PM, David Abbott wrote:
>>> Hovanes,
>>>       The TCL version that the variable TCL_LIBRARY is pointing to is an
>>> old version that is part of the CODA release. It is used only by the CODA ROCs.
>>> It only has to be set on the VME CPUs (or any CPU one wants to run a ROC on).
>>>       The ROCs cannot use a newer version as there are some old code and
>>> customizations. There are several TCL environment variables that get set
>>> as part of an init script probably by default in hdops login shells. This should
>>> probably be changed to only execute on certain types of machines. The ROCs
>>> run on a specific 32bit Linux OS.
>>>                    David
>>> 
>>> 
>>> On Oct 24, 2014, at 7:36 PM, Hovanes Egiyan <hovanes.egiyan at gmail.com> wrote:
>>> 
>>>> Hi,
>>>> There is a problem with TCL on gluon machines. Somehow when I launch
>>>> "MyaViewer" to view the
>>>> history of EPICS variables  I get error messages shown below and the
>>>> program crashes. This program
>>>> used to work before, something must have change recently that does not
>>>> allow hdops account to run it.
>>>> When I "unsetenv TCL_LIBRARY" it works. What is the reason for
>>>> installing an older version of TCL and
>>>> using it for hdops account as the default version?
>>>> Hovanes.
>>>> 
>>>> 
>>>> 
>>>> Application initialization failed:
>>>> /gluex/coda/3.02/common/lib/tcl7.4/tclIndex isn't a proper Tcl index file
>>>> Error in startup script: /gluex/coda/3.02/common/lib/tcl7.4/tclIndex
>>>> isn't a proper Tcl index file
>>>>      while executing
>>>> "error "[file join $dir tclIndex] isn't a proper Tcl index file""
>>>>      (procedure "auto_load_index" line 35)
>>>>      invoked from within
>>>> "auto_load_index"
>>>>      (procedure "auto_load" line 30)
>>>>      invoked from within
>>>> "auto_load tixScriptVersion"
>>>>      (procedure "__tixInit" line 19)
>>>>      invoked from within
>>>> "__tixInit"
>>>>      invoked from within
>>>> "load /usr/csite/certified/tcl/8.4/lib/libtix8.1.8.4.so Tix"
>>>>      ("package ifneeded" script)
>>>>      invoked from within
>>>> "package require Tix"
>>>>      (file "/usr/csite/certified/bin/MyaViewer" line 30)
>>>> 
>>>> _______________________________________________
>>>> Halld-online mailing list
>>>> Halld-online at jlab.org
>>>> https://mailman.jlab.org/mailman/listinfo/halld-online
>> 
> 
> _______________________________________________
> Halld-online mailing list
> Halld-online at jlab.org
> https://mailman.jlab.org/mailman/listinfo/halld-online

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/halld-online/attachments/20171115/8301ea5f/attachment.html>


More information about the Halld-online mailing list