我的最终目标是能够在 AWS EC2 Linux 实例上使用 R 中的 geoR 和 sp 包。第一个障碍是获得旧版本的 R,因为 3.3 不支持 TCL/TK(至少我发现)。
解压 R-3.2.5.tar.gz 并按照 INSTALL 文件中的说明(以及这些配置选项)后,在 config.log 中搜索 TCL 和 TK 显示以下内容:
configure:32908: checking for tclConfig.sh
configure:32950: checking for tclConfig.sh in library (sub)directories
configure:33143: checking for tcl.h
conftest.c:228:17: fatal error: tcl.h: No such file or directory
#include <tcl.h>
config.status:1893: creating src/library/tcltk/DESCRIPTION
config.status:1893: creating src/library/tcltk/Makefile
config.status:1893: creating src/library/tcltk/src/Makefile
ac_cv_env_TCLTK_CPPFLAGS_set=
ac_cv_env_TCLTK_CPPFLAGS_value=
ac_cv_env_TCLTK_LIBS_set=
ac_cv_env_TCLTK_LIBS_value=
r_cv_header_tcl_h=no
TCLTK_CPPFLAGS=''
TCLTK_LIBS=''
TCL_CONFIG=''
use_tcltk='no'
R 安装成功,但运行capabilities("tcltk")
确认出现问题,因为它返回FALSE
.
按照这里的提示,我搜索了 tclConfig.sh 和 tkConfig.sh,发现我没有安装适当的依赖项,即 tcl-devel 和 tk-devel。
运行yum list available
显示一个包,tcl-devel.x86_64
但没有tk
。我从这里下载了 TCL 和 TK 的源文件,但找不到任何devel
包的源文件。
所以现在我不知道如何进行。有没有人经历过这个过程,可以阐明它?
更新
看完下面的评论,恐怕我在研究 TCL/TK 和 R 3.3 时没有尽职尽责。
我早期解决整个问题的努力包括以下工作流程 - 首先,甚至不考虑旧版本的 R,我install.packages("geoR")
在 3.3.2 中运行。这导致installation of package 'geoR' had non-zero exit status
,以及:
Error: package 'tcltk' does not have a namespace
ERROR: lazy loading failed for package 'geoR'
所以,自然地,我跑了install.packages("tcltk")
,结果是package 'tcltk' is not available (for R version 3.3.2)
正如我之前提到的,这是非常早期的。我从字面上理解了这个消息,并没有考虑进一步研究 TCL/TK 3.3,而是开始寻找早期版本的 R,因为我已经在另一个具有 R 3.2.5 的系统上成功运行 geoR 和 sp .