除了重新链接/ usr / local / bin / tclsh以及希望使用新版本之外,从源代码构建和安装(全局)新版本的Tcl时还有什么特别需要考虑的事项吗?
我知道解释器可执行文件tclsh和wish安装了不同的名称,但是include和库文件呢?当我建立eggdrop时,它会链接到最新版本吗?手册页怎么样 - 旧手册被新手覆盖?
答案 0 :(得分:1)
这种情况的常用方法是配置构建,使其安装在单个目录(Windows方法)下,例如,在/opt/tcltk/8.6
下。然后,您可以保证不会与其他版本冲突,卸载就是在该单个目录上运行rm -rf
。这种方法有其缺点:
/opt/tcltk/8.6/bin
不会列在$PATH
。对于某些操作系统,另一种(可能更明智的)方法是执行“backport”,即获取所需Tcl / Tk版本的源包并使其为已安装的操作系统版本构建;然后以正常方式安装生成的包。在可以共同安装各种版本的Tcl / Tk的系统上(例如,Debian及其衍生产品),这可能是最明智的解决方案。
对于后一种情况下的手册页,在Debian中,它们最终被打包在一个单独的包中,不需要安装;所以你只需选择一个可用的文档包并安装它。
答案 1 :(得分:0)
就存在多个版本而言,这是正常的事情(通过在构建时将--prefix
选项设置为configure
来实现)并且已经持续了很长时间。如果可以的话,您可能希望避免使用单个版本的多个补丁级别,但是,如果共同安装8.4,8.5和8.6则完全没问题。您也希望在不同的目录中安装不同的安装,并且您正确地将未版本化的tclsh
名称链接到您想要的名称(尽管我只使用版本化的可执行文件名称)。
使联机帮助页很好地共存的唯一方法是将它们安装在单独的目录树中,并将MANPATH环境变量更新为指向正确的(除非您有一个man
可执行文件直接到联机帮助的路径 - 有些做,有些做不 - 而且这很难方便)。如果你可以忍受在线,我们有http://www.tcl.tk/man/托管的文档的官方HTML版本,其中包括所有重要版本可以追溯到很长一段时间。