问题描述
ubuntu 下开发有时会用到一些图形界面的软件, 启动时可能会遇到如下错误:
application-specific initialization failed: Can't find a usable tk.tcl in the following directories:
/usr/local/lib/tcl8.6/tk8.6 /usr/local/lib/tk8.6 /usr/lib/tk8.6 /usr/lib/tk8.6 /lib/tk8.6 /usr/library
This probably means that tk wasn't installed properly.
笔者是在使用 gitk 时出现此问题, 无法启动图形界面.
简要分析
从出错信息看, 应该是 tk 被破坏了, 如果你对通用图形库了解一些的话, 会知道 tk 和 tcl 是相互依赖的, 所以我们就建议重新安装一次 tk 和 tcl.
通常开发人员不会
有意修改这些自己不熟悉的配置, 往往这是无意之中的使用导致此类似错误发生, 例如:
- 更新软件库:
sudo apt-get update && sudo apt-get upgrade- 安装新软件, 而修改此处默认配置等
所以建议:
- 尽量保持稳定系统, 不频繁更新
- 软件安装尽量选择官方软件
解决
从 TCL/TK官网 下载源码, 源码建议选择和系统release 时间较贴近的版本, 这样可以尽量减少兼容性问题.
笔者使用的是 ubuntu16.04, 即2016年4月发布的版本, 该版本是 LTS, 禁得起时间考验.
因此, 笔者下载 TCL/TK 版本如下:

安装 tcl 和 tk:
# try to install tcl
cd tcl8.6.5/unix
./configure
make
sudo make install
# try to install tk
cd -
cd tk8.6.5/unix
./configure
make
sudo make install
Good luck to you~
在Ubuntu开发中,启动图形软件时遇到tk.tcl缺失的错误。问题源于tk库可能被破坏。解决方案包括理解tk与tk.tcl的依赖关系,尝试重新安装tk和tcl,并从TCL/TK官网下载与系统版本相匹配的源码进行安装。
2420

被折叠的 条评论
为什么被折叠?



