1

非常感谢您看一看。这里有一篇以前的帖子,带有相同的错误消息“无法编译简单的 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
4

1 回答 1

0

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

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

于 2016-07-10T02:23:15.883 回答