[英]Install TCL/TK without root
我正在尝试以RedHat 5上的常规用户身份安装TCL / TK:
TCL_VERSION=8.6.1
BASE_PATH=/myownpath
tar -xzf tcl${TCL_VERSION}-src.tar.gz
cd tcl${TCL_VERSION}/unix
./configure \
--prefix=${BASE_PATH} \
--without-tzdata \
--enable-64bit
make -j9
sed -e "s@^\(TCL_SRC_DIR='\).*@\1${BASE_PATH}'@" \
-e "/TCL_B/s@='\(-L\)\?.*unix@='\1${BASE_PATH}/lib@" \
-i tclConfig.sh
make install
make install-private-headers
chmod -v 755 ${BASE_PATH}/lib/libtcl*.so
到目前为止一切顺利:$ {BASE_PATH} /include/tcl.h存在,并且$ {BASE_PATH} /lib/tclConfig.sh看起来不错:
# String to pass to the compiler so that an extension can
# find installed Tcl headers.
TCL_INCLUDE_SPEC='-I/myownpath/include'
然后,我尝试安装TK:
tar -xzf tk${TCL_VERSION}-src.tar.gz
cd tk${TCL_VERSION}/unix
./configure \
--prefix=${BASE_PATH} \
--enable-64bit \
--with-tcl=${BASE_PATH}/lib \
make -j9
sed -e "s@^\(TK_SRC_DIR='\).*@\1${BASE_PATH}'@" \
-e "/TK_B/s@='\(-L\)\?.*unix@='\1${BASE_PATH}/lib@" \
-i tkConfig.sh
make install
make install-private-headers
chmod -v 755 ${BASE_PATH}/lib/libtk*.so
失败并显示以下消息:
tk8.6.1/unix/../generic/tk.h:19:17: error: tcl.h: No such file or directory
我错过了什么?!?
我按照以下步骤在Linux(Ubuntu)上安装tcl,tk。 请使用sudo避免任何与权限相关的问题创建您选择的目录,说/ opt / tcltk
安装tcl
安装tk
cd / opt / tcltk /提取tk tar
/ opt / tcltk /> sudo gunzip -c tk8.6.9.1-src.tar.gz | 焦油-xf-
/opt/tcltk/tk8.6.9/unix>sudo ./configure --prefix = / opt / tcltk
/opt/degrib/tcltk/tk8.6.9/unix>sudo make
须藤使安装
如果在安装过程中出现任何问题,请发表评论
如果您想以普通用户身份安装Tcl,从源代码发行版开始就很容易做到(您需要选择所需的版本;我现在一般建议使用8.6.1,但这是一个建议势必会随着时间而改变)。
然后,转到解压缩的源分发版中的unix
目录并运行./configure
重要说明:要以非root用户身份安装, 必须指定--prefix
选项进行configure
以说出要安装的位置,并且必须将其指定为完整路径。 例如,如果要将其安装在主目录下,则可以使用:
./configure --prefix=/home/dkf
然后,只需进行make
和make install
。 或合并为make all install
; 如果您不是以其他用户身份安装,则只需一步即可。 之后,我会发现通过执行/home/dkf/bin/tclsh8.6
可以运行Tcl 8.6.1,二进制库和tclConfig.sh
将位于/home/dkf/lib
; 以明显的方式针对您指定的路径进行调整。 如果未指定--prefix
,则源发行版将使用/usr/local
作为默认目录,但是该目录通常只能由root用户写入。
您必须指定这样的路径的原因是,Tcl的支持脚本的路径已包含在二进制库中。 (它是运行时可重写的,但是当您可以轻松地从头开始时就不建议这样做。)
构建Tk时,您需要同级的 Tcl构建。 当前,建议您也使它们具有相同的版本。 您还应该指定--with-tcl=
并提供刚刚安装的tclConfig.sh
的路径。 尽管可能无法正常运行,但是以这种方式执行是最简单的。 一旦构建并安装了Tcl和Tk,您(可能)就不需要保留源代码树了。
好的,我承认我确实在附近,但是我是一个数据包…
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.