R:rJava软件包安装失败
使用install.packages("rJava")
命令安装rJava时,出现以下错误:
checking Java support in R... present: interpreter : '/usr/bin/java' archiver : '/usr/bin/jar' compiler : '/usr/bin/javac' header prep.: '/usr/bin/javah' cpp flags : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux' java libs : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm' checking whether JNI programs can be compiled... yes checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this. ERROR: configuration failed for package 'rJava'
我已经安装了Java JDK,并且java -version
返回以下内容:
$ java -version java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
当谷歌search错误,我看到其他人都有同样的问题,但没有find一个解决办法,除了“安装整个JDK,不只是JRE”,我已经做了。
我读的另一件事是运行sudo R CMD javareconf
,它运行得非常愉快,没有错误。
任何想法我的问题是什么?
[[编辑]]我有这个问题已经有几个月了。 我最初通过编辑我的Javapath解决了这个问题,如下面我发布的答案所示。 我最近遇到了一个新的Ubuntu安装相同的问题。 我试过Dirk的build议,使用apt-get来安装rJava软件包。 它工作完美。 我最初没有意识到的是,使用Ubuntu apt-get方法安装软件包与使用R内的install.packages()加载相同的软件包有着本质的区别.Ubuntu软件包解决了一些我没有意识到或欣赏的问题。
岂不
apt-get install r-cran-rjava
一直更容易? 你可以问我使用R! 🙂
原来我的问题是我的JAVA_HOME
环境variables的问题。 是的,我知道,令人震惊。 我的初始设置为PATH
和JAVA_HOME
看起来像这样:
export JAVA_HOME=/usr/lib/jvm/java-6-sun export PATH=$PATH:$JAVA_HOME/bin
我添加了/jre
,现在看起来像这样:
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre export PATH=$PATH:$JAVA_HOME/bin
Java中的所有东西似乎没有/jre
JRE,但rJava不会。 奇。
谢谢 – 关于$JAVA_HOME
的build议让我有一个类似的解决scheme:
prompt$ unset JAVA_HOME
在调用R.之前
我遇到了同样的问题,并在运行下面的命令后,它的工作。
export JAVA_LIBS="$JAVA_LIBS -ldl" R CMD javareconf
这在Ubuntu 12.04和R版本3.0上为我工作
cd /usr/lib/jvm/java-6-sun-1.6.0.26/include
这是有jni.h的目录
接下来创build一个软链接到另一个需要的头文件(我懒得找出如何在下面的JAVA_CPPFLAGS选项中包含多个目录):
sudo ln -s linux/jni_md.h .
最后
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include
在AMD64上运行Gentoo下的R。 我升级到R 2.12.0
R版本2.12.0(2010-10-15)版权所有(C)2010统计计算R基金会ISBN 3-900051-07-0平台:x86_64-pc-linux-gnu(64位)和那些讨厌的消息远。
扬·范德梅尔
下面是我在另一个post上的答案之一 – 错误:刚刚无法加载已安装的软件包
(这也与这个问题有关)
对于Linux(Ubuntu)用户:如果您安装了oracle-java(7/8) 。 它将位于/usr/lib/jvm
这个位置,并且需要sudo
访问。
使用以下条目创build文件/etc/ld.so.conf.d/java.conf
:
/usr/lib/jvm/java-8-oracle/jre/lib/amd64 /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
(用java-7-oraclereplacejava-8-oracle,取决于你的java版本)
然后:
sudo ldconfig
重新启动RStudio,然后安装rJava软件包。
我试图安装openjdk-7- *,但仍然有问题安装rJava。 在我重新启动计算机后发生故障,完全没有问题。
所以
sudo apt-get install openjdk-7-* RESTART after installing java, then try to install package "rJava" in R
我做的是这里:
-
在/etc/apt/sources.list中添加:
deb http://ftp.de.debian.org/debian sid main
注意:rjava应该是最新版本
2运行:sudo apt-get update sudo apt-get install r-cran-rjava
一旦更新旧版本的rjava,则可以安装rhdfs_1.0.8。
我在Ubuntu 16.04上遇到了类似的问题,并且可以通过在/usr/lib/jvm
创build一个名为“default-java”的文件夹并将其复制到/usr/lib/jvm/java-8-oracle
。 我select了这个解决scheme来纠正JAVA_HOME环境variables,结果是没用的。
我通过下载得到它的工作: https ://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gz和运行命令R CMD安装rJava_0.9-8.tar.gz
rJava包查找/usr/lib/jvm/default-java/
文件夹。 但是默认情况下不可用。 该文件夹具有为系统configuration的默认java的符号链接。
要激活默认的java,请安装以下软件包:
sudo apt-get install default-jre default-jre-headless
使用CRAN R 3.4.1testingUbuntu 17.04