由于 rJava 加载 rcdk 失败

问题描述

r$> library("rcdk")                                                                                                                                                                       
Loading required package: rcdklibs
Loading required package: rJava
Error: package or namespace load Failed for ‘rJava’:
 .onLoad Failed in loadNamespace() for 'rJava',details:
  call: dyn.load(jli,FALSE)
  error: unable to load shared object '/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/jli/libjli.dylib':
  dlopen(/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/jli/libjli.dylib,10): no suitable image found.  Did find:
        /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/jli/libjli.dylib: mach-o,but wrong architecture
        /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/jli/libjli.dylib: mach-o,but wrong architecture
Error: package ‘rJava’ Could not be loaded

我遇到了类似的 thread,因此我尝试了 sudo R CMD javareconf,但它对我不起作用。

chrislam@ChrisLams-MBP MVA_DNF % sudo R CMD javareconf
Password:
Java interpreter : /usr/bin/java
Java version     : 11.0.11
Java home path   : /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar

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 -arch arm64 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/include/darwin  -I/Opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -c conftest.c -o conftest.o
clang -arch arm64 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/opt/R/arm64/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: ignoring file /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/server/libjvm.dylib,building for macOS-arm64 but attempting to link with file built for macOS-x86_64


JAVA_HOME        : /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
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
Done.

以下是我的 Sys.info() 和我的弧度细节

r$> Sys.info()                                                                                                                           
                                                                                               sysname 
                                                                                              "Darwin" 
                                                                                               release 
                                                                                              "20.3.0" 
                                                                                               version 
"Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101" 
                                                                                              nodename 
                                                                                  "ChrisLams-MBP.home" 
                                                                                               machine 
                                                                                               "arm64" 
                                                                                                 login 
                                                                                                "root" 
                                                                                                  user 
                                                                                            "chrislam" 
                                                                                        effective_user 
                                                                                            "chrislam"
chrislam@ChrisLams-MBP MVA_DNF % radian
R version 4.1.0 (2021-05-18) -- "Camp Pontanezen"
Platform: aarch64-apple-darwin20 (64-bit)`
chrislam@ChrisLams-MBP MVA_DNF % java -version
java version "11.0.11" 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194,mixed mode)
chrislam@ChrisLams-MBP ~ % /usr/libexec/java_home -V                                            
Matching Java Virtual Machines (4):
    11.0.11 (x86_64) "Oracle Corporation" - "Java SE 11.0.11" /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
    11.0.10 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    1.8.291.10 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_291 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home

任何建议将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)