【问题标题】:rj package compilation failurerj包编译失败
【发布时间】:2012-11-09 05:46:24
【问题描述】:

非常感谢您观看。这里有一篇以前的帖子,带有相同的错误消息“无法编译简单的 JNI 程序”,解决方案是更新到 R 1.15。但我已经拥有最新版本中的所有内容。虽然它说“查看 config.log 以了解详细信息”,但它没有给出位置,并且终端上的“find / -name config.log”没有返回任何内容。

试图让它发挥作用是一个令人筋疲力尽和令人沮丧的过程。任何帮助将不胜感激。

R 版本 2.15.1,64 位(我使用 Homebrew 安装,但应该不是问题)

Eclipse 4.2 Cocoa,64 位(也试过 3.7,也没有工作)

OSX 10.7.5

这是错误信息:

install.packages(c("rj"), repos="http://download.walware.de/rj-1.1") 将软件包安装到“/Library/Frameworks/R.framework/Versions/2.15/Resources/library” (因为“lib”未指定) 尝试 URL 'http://download.walware.de/rj-1.1/src/contrib/rj_1.1.0-4.tar.gz' 内容类型 'application/x-tar' 长度 314501 字节 (307 Kb) 打开网址 ==================================================== 已下载 307 KB * 安装 *source* 包 'rj' ... 检查 R 配置...找到 R_HOME:/usr/local/Cellar/r/2.15.1/R.framework/Resources 检查 gcc ... cc 检查 C 编译器默认输出文件名... a.out 检查 C 编译器是否工作......是的 检查我们是否在交叉编译...否 检查可执行文件的后缀... 检查目标文件的后缀... o 检查我们是否正在使用 GNU C 编译器...是的 检查 cc 是否接受 -g... 是 检查 cc 选项以接受 ISO C89... 不需要 检查 R 中的 Java 支持...好的 JAVA_HOME:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home JAVA:/usr/bin/java JAVAC:/usr/bin/javac JAVAH:/usr/bin/javah JAVA_CPPFLAGS:-I/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/include JAVA_LIBS:-框架JavaVM 罐子:/usr/bin/jar 配置:创建 ./config.status config.status:创建 src/Makevars === 在 jri 中配置 (/private/var/folders/7p/q7qb1n2d277c9tqt65s5wy_c0000gn/T/RtmpVlP2YK/R.INSTALL2c9175fac4e/rj/jri) 配置:运行 /bin/sh ./configure --disable-option-checking '--prefix=/usr/local' --cache-file=/dev/null --srcdir=. 检查构建系统类型... i386-apple-darwin11.4.2 检查主机系统类型... i386-apple-darwin11.4.2 检查 gcc ... cc 检查 C 编译器默认输出文件名... a.out 检查 C 编译器是否工作......是的 检查我们是否在交叉编译...否 检查可执行文件的后缀... 检查目标文件的后缀... o 检查我们是否正在使用 GNU C 编译器...是的 检查 cc 是否接受 -g... 是 检查 cc 选项以接受 ISO C89... 不需要 检查如何运行 C 预处理器... cc -E 检查处理长行的 grep 和 -e... /usr/bin/grep 检查 egrep... /usr/bin/grep -E 检查 ANSI C 头文件... rm: conftest.dSYM: 是一个目录 rm: conftest.dSYM: 是一个目录 是的 检查Java解释器是否工作...检查JNI程序是否可以编译...配置:错误:无法编译简单的JNI程序。有关详细信息,请参阅 config.log。 配置:错误:./配置 jri 失败 错误:包 'rj' 的配置失败 * 删除 '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rj' *恢复以前的'/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rj' 下载的源码包在 '/private/var/folders/7p/q7qb1n2d277c9tqt65s5wy_c0000gn/T/RtmpNM4Pyx/downloaded_pa​​ckages' 警告信息: 在 install.packages(c("rj"), repos = "http://download.walware.de/rj-1.1") : 软件包“rj”的安装具有非零退出状态

这是会话信息。

会话信息() R 版本 2.15.1 (2012-06-22) 平台:x86_64-apple-darwin11.4.0(64位) 语言环境: [1] 丙 附加的基础包: [1] stats graphics grDevices utils datasets methods base 通过命名空间加载(未附加): [1] tcltk_2.15.1 工具_2.15.1

【问题讨论】:

  • 对于那些能够提供帮助的人(不会是我),解释一下为什么您在这里尝试的内容似乎与 installation instructions 不匹配可能对您有用。
  • 我不明白你的意思。指令说 install.packages(c("rj", "rj.gd"), repos="download.walware.de/rj-1.1")。我只是安装第一个包,而不是同时安装。如果它有助于任何人知道:在我的机器上使用确切的命令也会对其他包产生相同的错误。
  • 这就是我的意思(我不确定安装两者是否会有所不同)。
  • 啊,我希望您发现了一些可能是导致错误的原因。尽管如此,还是感谢您提出来。

标签: macos r compilation java-native-interface statet


【解决方案1】:

我遇到了同样的问题,下面的解决方案对我有用。请按步骤操作

1.) 你需要在终端上运行这个命令 - R CMD javareconf 2.) 之后检查 StatET 与以下顺序的 rJ 包的兼容性。

对于 RJ 2.0 (StatET 3.4 - 3.5): install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-2.0")

对于 RJ 1.1 (StatET 3.0 - 3.3): install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")

对于 RJ 1.0 (StatET 2.0): install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.0")

对于 RJ 0.5 (StatET 0.10): install.packages("rj", repos="http://download.walware.de/rj-0.5")

3.) 一旦您根据 StatET 知道了您的兼容版本,然后运行包安装命令。 例如。我使用的是 StatET 3.5,因此对我来说 RJ 2.0 可以工作,而其他人则不行。

所以命令是 {install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-2.0")}

4.) 安装完成后,请检查环境变量是否设置正确,以防您使用任何 IDE(如 Eclipse)。库路径应在 Eclipse 或任何其他 IDE 中设置。

如果有任何问题,请点击此链接 - http://www.walware.de/?page=/it/statet/installation.html

【讨论】:

  • 嗨 Ravi,欢迎来到 StackOverflow,感谢您的回答。由于链接可能会随着时间的推移而更改并变得无效,您能否编辑您的答案以在此处提供相关的故障排除信息,而不是完全依赖链接?您仍然可以提供上下文链接,但最好您的答案也包含必要的信息。
  • 嗨@TimMalone - 已编辑(感谢您的意见)
  • 不客气。还有一件事 - 您可能会发现将命令放入代码格式中很有帮助。使用反引号 (`) 或将它们放在新段落中,缩进 4 个空格。
  • 嗨@TimMalone 让我知道答案是否对其他人有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 2014-06-01
  • 2020-02-02
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多