Tcl
Gtkwave Can't find a usable init.tcl
最近再使用Gtkwave查看波形的时候出现了一个错误,导致我的gtkwave界面无法打开,下面是报错信息:
GTKWave | Tcl_Init error: Can't find a usable init.tcl in the following directories:
/tmp/pabuild/tcl8.5.14/lib/tcl8.5 /usr/local/gtkwave/lib/tcl8.5 /usr/local/lib/tcl8.5 /usr/local/gtkwave/library /usr/local/library /usr/local/tcl8.5.14/library /usr/tcl8.5.14/library
This probaly means that Tcl wasn't installed properly.
我先是查询这些路径,发现这些路径全都是无效的路径,更别说里面有init.tcl这个文件了,后来使用find命令查找init.tcl的位置,发现有很多的路径,然后我在其他正常的电脑上也查找init.tcl的路径进行对比,结果都是正常的,这说明init.tcl的路径是没有问题的,这就很麻烦,感觉无从下手啊!
接着我尝试将init.tcl拷贝到报错信息提示的路径下面,结果出现了下面的信息:
"Tcl" : have 8.5.14, need exactly 8.5.7
while executing
"package require -exact Tcl 8.5.7"
在网上的查询结果是,版本不匹配,要将init.tcl文件中的第20行中的版本信息改成系统需要的8.5.7,但是我的系统下面有很多的init.tcl文件,这样改显然是有问题的,所以果断放弃。但是这也提供了一个思路,我在网上找到了相应的Tcl版本,查找到里面的init.tcl文件,将里面的init.tcl以软链接的形式,链接到错误提示的文件路径下面,后来发现无论是软链接还是直接拷贝进相应的文件中,报错误信息都是一样的,尽管我已经按要求使用系统要求的版本,但是系统还是不识别,这也说明与Tcl的版本无关。
下面就是验证这一句话:This probaly means that Tcl wasn't installed properly.
提示信息是我的Tcl没有安装完全,于是我将系统中现有的gtkwave,tcl,tk全部都卸载掉,然后重新安装,具体安装步骤,参见下面的链接,写的很详细:
centos下安装gtkwave http://www.eefocus.com/spencer/blog/14-04/302735_9b29b.html
等我费了好大劲成功安装好gtkwave的时候,我发现还是无法打开gui界面,此时我的内心是崩溃的,还同样的错误,还是同样的路径信息,这也就说明了,这与gtkwave有没有安装完全是没有关系的。
最后在网上找到这篇文章,最后发现可能是系统查找的库目录不对,我的Centos是64位的,系统默认查找的库目录是/usr/lib文件夹里面的内容,进入到/usr/目录下,我发现还有一个lib64文件夹,于是我试着将lib64这个文件夹中的库也配置到环境变量中去,结果gtkwave成功的打开了,至此问题终于的带解决了。
以下参考文章路径:http://www.xilinx.com/support/answers/51582.html
在.bashrc中配置的环境变量:
export LD_LIBRARY_PATH="/usr/lib64:"$LD_LIBRARY_PATH
alias gtkwave="/usr/local/gtkwave/bin/gtkwave"
然后在终端上输入:source /root/.bashrc
之后就可以成功打开gtkwave了。