2016-11-28 144 views
0

我在尝试在自动化中运行测试时出现以下错误。tcl错误读取包索引文件

error reading package index file /usr/share/tcl8.4/stc2.0 
/pkgIndex.tcl:  
bad option "join/users/ask/Spirent_TestCenter_4.57 
/Spirent_TestCenter_Application_Linux": 
must be atime, attributes, channels, copy, delete, dirname, executable, 
exists, extension, isdirectory, isfile, join, link, lstat, mtime, mkdir, 
nativename, normalize, owned, pathtype, readable, readlink, rename, 
rootname, separator, size, split, stat, system, tail, type, volumes, or 
writable 

我必须将Spirent TestCenter应用程序从4.61降级到4.57,并相应地更改了包索引文件。当它是4.61时,这个错误不存在。

+0

看起来像一个特定于软件包的东西。您可能想在思博伦网络上提出这个问题。 – Jerry

回答

2

我猜测在文件/users/ask/Spirent_TestCenter_4.57/Spirent_TestCenter_Application_Linux/pkgIndex.tcl中的一个关键位置缺少一个空间。猜是什么在该文件是有点硬,但它可能是这样的:

package ifneeded stc 4.57 [list source [file join$dir something...]] 

问题是join$dir之间缺少空间。有可能$dir将被替换为一个文字路径,它可能在list load或任意数量的其他选项中,但该错误是缺失的空间。缺少的空间导致路径被添加到子命令名称(join),并且file命令以这种特有的方式正确地抱怨。

pkgIndex.tcl文件可能很短。现在不应该花很长时间才能发现问题出在哪里,你知道你在找什么。


更深层次的原因这不太清楚。这可能是安装过程中的路径替换问题,或者是代表思博伦的马虎测试(尽管我不会指望这一点;即使是最粗略的测试应该可以发现这个问题)或其他任何事情。