无法在Mac OS 10.11上加载R xlsx软件包 [英] Cannot load R xlsx package on Mac OS 10.11
问题描述
我可以加载rJava和xlsxjars包,但是当我执行库(xlsx)时,我得到了无法加载JVM。以下是我的详细信息。
操作系统版本:
$ sw_vers
ProductName:Mac OS X
ProductVersion:10.11
BuildVersion:15A284
Java版本:
$ java -version
java版本1.8.0_65
Java(TM )SE运行时环境(版本1.8.0_65-b17)
Java HotSpot(TM)64位服务器VM(版本25.65-b01,混合模式)
Java路径:
$ java
/ usr / bin / java
Java主页:
$ / usr / libexec / java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
R版本:
$ R --version
R版本3.2.3(2015-12-10) - 木制圣诞树
版权所有(C)2015 R统计计算基金
平台:x86_64-apple-darwin13。 4.0(64位)
我如何发布h R:
$ LD_LIBRARY_PATH = $(/ usr / libexec / java_home)/ jre / lib / server:open -a RStudio
成功加载rJava和xlsxjars包:
> library(rJava)
> library(xlsxjars)
尝试加载xlsx软件包失败:
> library(xlsx)
JavaVM:请求的Java版本((null))不可用。而在使用Java代替。
JavaVM:无法加载JVM:/bundle/Libraries/libserver.dylib
JavaVM致命错误:无法加载jvm库。
错误:.onLoad在'xlsx'的loadNamespace()中失败,详情:
调用:.jinit()
错误:JNI_GetCreatedJavaVMs返回-1
错误:包或命名空间加载'xlsx'失败
R配置:
Matts-MacBook-Pro:〜matt $ R CMD javareconf
Java解释器:/ usr / bin / java
Java版本:1.8.0_65
Java主路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre
Java编译器:/ usr / bin / javac
Java headers gen。:/ usr / bin / javah
Java归档工具:/ usr / bin / jar
OS X上的非系统Java
尝试编译和链接JNI程序
检测到JNI cpp标志:-I $(JAVA_HOME)/../ include -I $(JAVA_HOME)/../ include / darwin
检测到的JNI链接器标志:-L $(JAVA_HOME)/ lib / server -ljvm
clang -I / Library / Frameworks / R.framework / Resources / include -DNDEBUG -I / Library / Java / JavaVirtualMachines / jdk1.8.0_65.jdk / Contents / Home / jre /../ include -I / Libr ary / Java / JavaVirtualMachines / jdk1.8.0_65.jdk / Contents / Home / jre /../ include / darwin -I / usr / local / include -I / usr / local / include / freetype2 -I / opt / X11 / include -fPIC -Wall -mtune = core2 -g -O2 -c conftest.c -o conftest.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L / Library / Frameworks / R.framework / Resources / lib -L / usr / local / lib -o conftest.so conftest.o -L / Library / Java / JavaVirtualMachines / jdk1.8.0_65.jdk / Contents / Home / jre / lib / server -ljvm -F / Library / Frameworks / R.framework / ..-framework R -Wl,-framework -Wl,CoreFoundation
JAVA_HOME:/Library/Java/JavaVirtualMachines/jdk1.8.0_65 .jdk / Contents / Home / jre
Java库路径:$(JAVA_HOME)/ lib / server
JNI cpp标志:-I $(JAVA_HOME)/../ include -I $(JAVA_HOME)/ ../include/darwin
JNI链接器标志:-L $(JAVA_HOME)/ lib / server -ljvm
更新/Library/Frameworks/R.framework/Resources中的Java配置
不幸的是,这些符号链接技巧对我没有帮助。但是,我在计算器! (其他地方;))
这个通过以下方式为我工作:
-
在终端输入以下内容正确重新链接Java:
sudo R CMD javareconf
-
回到R(或RStudio)从源代码安装rJava包:
install.packages(rJava,type ='source')
希望,这有帮助!
I can load the rJava and xlsxjars packages, but I get a "Failed to load JVM" when I execute library(xlsx). Below are my details.
OS Version:
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11
BuildVersion: 15A284
Java Version:
$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Java Path:
$ which java
/usr/bin/java
Java Home:
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
R Version:
$ R --version
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.4.0 (64-bit)
How I launch R:
$ LD_LIBRARY_PATH=$(/usr/libexec/java_home)/jre/lib/server: open -a RStudio
Loading the rJava and xlsxjars packages successfully:
> library(rJava)
> library(xlsxjars)
Unsuccessfully trying to load the xlsx package:
> library(xlsx)
JavaVM: requested Java version ((null)) not available. Using Java at "" instead.
JavaVM: Failed to load JVM: /bundle/Libraries/libserver.dylib
JavaVM FATAL: Failed to load the jvm library.
Error : .onLoad failed in loadNamespace() for 'xlsx', details:
call: .jinit()
error: JNI_GetCreatedJavaVMs returned -1
Error: package or namespace load failed for ‘xlsx’
R Configuration:
Matts-MacBook-Pro:~ matt$ R CMD javareconf
Java interpreter : /usr/bin/java
Java version : 1.8.0_65
Java home path : /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
Non-system Java on OS X
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c conftest.c -o conftest.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
JAVA_HOME : /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Unfortunately, these symlink tricks didn't help me. However, I found a similar issue on stackoverflow! (where else ;)) This one worked for me by doing the following:
In terminal enter the following to relink Java correctly:
sudo R CMD javareconf
Back in R (or RStudio) install the rJava package from source:
install.packages("rJava",type='source')
Hope, this helps!
这篇关于无法在Mac OS 10.11上加载R xlsx软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!