无法为 Eclipse StatEt 插件安装 rj 包
Not able to install rj package for Eclipse StatEt plugin
因为 Ubuntu 升级到 18.04 破坏了我的 Eclipse 配置,我重新安装了 Eclipse(Photon Release 4.8.0)并尝试再次使用 R 和 StatET 3.6 插件。根据建议 here,我尝试通过
在 R 术语控制台中安装包 rj-2.1
install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-2.1")
这开始安装 rj
和 rj.gd
Installing packages into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
但以错误消息结尾:
Warning message:
In install.packages(c("rj", "rj.gd"), repos = "http://download.walware.de/rj-2.1") :
installation of package ‘rj’ had non-zero exit status
仔细查看控制台输出会发现此错误消息:
checking Java support in R... configure: error: cannot determine complete java config
JAVA_HOME: /usr/lib/jvm/default-java
JAVA : /usr/lib/jvm/default-java/bin/java
JAVAC : /usr/lib/jvm/default-java/bin/javac
JAVAH :
JAVA_CPPFLAGS: -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
JAVA_LIBS: -L/usr/lib/jvm/default-java/lib/server -ljvm
JAR : /usr/lib/jvm/default-java/bin/jar
R is not configured with full Java support. Please make sure
an JDK is installed and run
R CMD javareconf
as root to add Java support to R.
If you don't have root privileges, run
R CMD javareconf -e
to set all Java-related variables and then install the package.
ERROR: configuration failed for package ‘rj’
* removing ‘/usr/local/lib/R/site-library/rj’
* restoring previous ‘/usr/local/lib/R/site-library/rj’
当我运行建议的命令
sudo R CMD javareconf
在终端中,输出表明它按预期工作
Java interpreter : /usr/lib/jvm/default-java/bin/java
Java version : 10.0.2
Java home path : /usr/lib/jvm/default-java
Java compiler : /usr/lib/jvm/default-java/bin/javac
Java headers gen.:
Java archive tool: /usr/lib/jvm/default-java/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fdebug-prefix-map=/build/r-base-AitvI6/r-base-3.4.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c conftest.c -o conftest.o
g++ -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/default-java/lib/server -ljvm -L/usr/lib/R/lib -lR
JAVA_HOME : /usr/lib/jvm/default-java
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /usr/lib/R
Done.
尽管如此,安装rj-2.1
之后仍然出现同样的错误信息。我看了看 /usr/local/lib/R/site-library
并且 rj.gd
更新了,但是 rj
仍然是以前的版本。启动 R 控制台会产生错误消息
eclipse.buildId=4.8.0.I20180611-0500
java.version=10.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
de.walware.statet.r.console.ui
Launching the R Console was cancelled, because it seems starting the R engine failed.
Please make sure that R package 'rj' (2.1 or compatible) is installed and that the R library paths are set correctly for the R environment configuration
知道如何安装 rj
吗?
P.S.: 好像是Java版本问题。 Ubuntu 18.04 预装了这个版本:
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1, mixed mode)
更新:
在没有故意更改任何内容的情况下,从 Rterm
控制台安装 rj
和 rj.gd
现在可以正常工作了。 /usr/local/lib/R/site-library
中的文件确实更新了,Rterm
控制台没有任何错误信息。
尽管如此,在创建和 运行 一个 RJ
控制台时,会出现相同的错误消息
Launching the R Console was cancelled, because it seems starting the R engine failed.
Please make sure that R package 'rj' (2.1 or compatible) is installed and that the R library paths are set correctly for the R environment configuration 'Rstatet36'.
我又定义了Preferences>Statet>R environment
和Run Configurations
也没用
更新:如果您对问题投反对票,最好添加评论,说明您为什么这样做,以便改进问题。或删除。那好吧。
确实是Java环境不对。安装时间不长,如果你知道,该怎么做,但查找起来相当繁琐:
1) 使用 sudo apt install openjdk-8-jdk
在 Ubuntu 18.04 上安装 openjdk 8。我认为简单地将默认的 Java 版本更改为 sudo update-alternatives --config java
可能会有所帮助,但事实并非如此。所以不要这样做。
2) 转到 Eclipse>首选项>Java>已安装的 JRE:
选择 ADD
并指定文件夹,在本例中为 /usr/lib/jvm/java-8-opdenjdk-amd64。单击“确定”。
3) 转到 运行>运行 配置并双击 R console
打开一个新的 运行 配置。选择RJ (default)
4) 转到选项卡 JRE
并从 Alternate JRE
中选择 Java 8
5) 为您的新配置起一个好听的名字,单击 Apply
和 Run
然后您的 RJ 控制台将启动。至少在我的环境中是这样。
因为 Ubuntu 升级到 18.04 破坏了我的 Eclipse 配置,我重新安装了 Eclipse(Photon Release 4.8.0)并尝试再次使用 R 和 StatET 3.6 插件。根据建议 here,我尝试通过
在 R 术语控制台中安装包rj-2.1
install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-2.1")
这开始安装 rj
和 rj.gd
Installing packages into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
但以错误消息结尾:
Warning message:
In install.packages(c("rj", "rj.gd"), repos = "http://download.walware.de/rj-2.1") :
installation of package ‘rj’ had non-zero exit status
仔细查看控制台输出会发现此错误消息:
checking Java support in R... configure: error: cannot determine complete java config
JAVA_HOME: /usr/lib/jvm/default-java
JAVA : /usr/lib/jvm/default-java/bin/java
JAVAC : /usr/lib/jvm/default-java/bin/javac
JAVAH :
JAVA_CPPFLAGS: -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
JAVA_LIBS: -L/usr/lib/jvm/default-java/lib/server -ljvm
JAR : /usr/lib/jvm/default-java/bin/jar
R is not configured with full Java support. Please make sure
an JDK is installed and run
R CMD javareconf
as root to add Java support to R.
If you don't have root privileges, run
R CMD javareconf -e
to set all Java-related variables and then install the package.
ERROR: configuration failed for package ‘rj’
* removing ‘/usr/local/lib/R/site-library/rj’
* restoring previous ‘/usr/local/lib/R/site-library/rj’
当我运行建议的命令
sudo R CMD javareconf
在终端中,输出表明它按预期工作
Java interpreter : /usr/lib/jvm/default-java/bin/java
Java version : 10.0.2
Java home path : /usr/lib/jvm/default-java
Java compiler : /usr/lib/jvm/default-java/bin/javac
Java headers gen.:
Java archive tool: /usr/lib/jvm/default-java/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fdebug-prefix-map=/build/r-base-AitvI6/r-base-3.4.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c conftest.c -o conftest.o
g++ -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/default-java/lib/server -ljvm -L/usr/lib/R/lib -lR
JAVA_HOME : /usr/lib/jvm/default-java
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /usr/lib/R
Done.
尽管如此,安装rj-2.1
之后仍然出现同样的错误信息。我看了看 /usr/local/lib/R/site-library
并且 rj.gd
更新了,但是 rj
仍然是以前的版本。启动 R 控制台会产生错误消息
eclipse.buildId=4.8.0.I20180611-0500
java.version=10.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
de.walware.statet.r.console.ui
Launching the R Console was cancelled, because it seems starting the R engine failed.
Please make sure that R package 'rj' (2.1 or compatible) is installed and that the R library paths are set correctly for the R environment configuration
知道如何安装 rj
吗?
P.S.: 好像是Java版本问题。 Ubuntu 18.04 预装了这个版本:
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1, mixed mode)
更新:
在没有故意更改任何内容的情况下,从 Rterm
控制台安装 rj
和 rj.gd
现在可以正常工作了。 /usr/local/lib/R/site-library
中的文件确实更新了,Rterm
控制台没有任何错误信息。
尽管如此,在创建和 运行 一个 RJ
控制台时,会出现相同的错误消息
Launching the R Console was cancelled, because it seems starting the R engine failed.
Please make sure that R package 'rj' (2.1 or compatible) is installed and that the R library paths are set correctly for the R environment configuration 'Rstatet36'.
我又定义了Preferences>Statet>R environment
和Run Configurations
也没用
更新:如果您对问题投反对票,最好添加评论,说明您为什么这样做,以便改进问题。或删除。那好吧。
确实是Java环境不对。安装时间不长,如果你知道,该怎么做,但查找起来相当繁琐:
1) 使用 sudo apt install openjdk-8-jdk
在 Ubuntu 18.04 上安装 openjdk 8。我认为简单地将默认的 Java 版本更改为 sudo update-alternatives --config java
可能会有所帮助,但事实并非如此。所以不要这样做。
2) 转到 Eclipse>首选项>Java>已安装的 JRE:
ADD
并指定文件夹,在本例中为 /usr/lib/jvm/java-8-opdenjdk-amd64。单击“确定”。
3) 转到 运行>运行 配置并双击 R console
打开一个新的 运行 配置。选择RJ (default)
4) 转到选项卡 JRE
并从 Alternate JRE
中选择 Java 8
5) 为您的新配置起一个好听的名字,单击 Apply
和 Run
然后您的 RJ 控制台将启动。至少在我的环境中是这样。