Check DYLD_FALLBACK_LIBRARY_PATH - it must include your Java:

> Sys.getenv("DYLD_FALLBACK_LIBRARY_PATH")
[1] 
"/Library/Frameworks/R.framework/Resources/lib:/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre/lib/server"

if it doesn't, your R is not correctly configured. Oracle's Java requires the 
above setting, it doesn't work without it (unlike the system Java). The above 
is set by the R script based on etc/ldpaths - so make sure that one is correct 
(it should be by javareconf if your system is setup correctly).

Cheers,
Simon


On Feb 14, 2016, at 6:47 AM, Berend Hasselman <b...@xs4all.nl> wrote:

> 
>> On 14 Feb 2016, at 12:31, Prof Brian Ripley <rip...@stats.ox.ac.uk> wrote:
>> 
>> On 14/02/2016 11:24, Berend Hasselman wrote:
>>> 
>>>> On 14 Feb 2016, at 11:48, Prof Brian Ripley <rip...@stats.ox.ac.uk> wrote:
>>>> 
>>>> Your Java is seriously old.  Start by updating it (1.8.0_74 is current, 
>>>> AFAIK).
>>>> 
>>>> I can reproduce this with the CRAN binary packages, but installing the 
>>>> packages from source works for me on El Capitan (using the CRAN binary R). 
>>>>  So I suspect a problem with the CRAN binary package of rJava, which seems 
>>>> to be hard-coded to use /System/Library/Frameworks/JavaVM.framework and 
>>>> not Oracle Java.
>>>> 
>>> 
>>> I've just updated to Java 1.8.0_74.
>>> I get the same issues.
>>> 
>>> 
>>> And I have now also installed rJava, XLConnect end XLConnectJars from 
>>> source.
>>> library(XLConnect) gives this error
>>> 
>>> <message>
>>> Loading required package: XLConnectJars
>>> Error : .onLoad failed in loadNamespace() for 'rJava', details:
>>>  call: dyn.load(file, DLLpath = DLLpath, ...)
>>>  error: unable to load shared object 
>>> '/Users/berendhasselman/Library/R/3.2/library/rJava/libs/rJava.so':
>>>  dlopen(/Users/berendhasselman/Library/R/3.2/library/rJava/libs/rJava.so, 
>>> 6): Library not loaded: @rpath/libjvm.dylib
>>>  Referenced from: 
>>> /Users/berendhasselman/Library/R/3.2/library/rJava/libs/rJava.so
>>>  Reason: image not found
>>> Error: package 'XLConnectJars' could not be loaded
>>> </message>
>>> 
>>> Apparently rJava.so can't be found. But I had already installed it from 
>>> source.
>> 
>> That is not what the message says ... it is libjvm which is not being found.
>> 
> 
> Correct. Sorry about that.
> 
>> Did you re-run R CMD javareconf?  (You might need to reinstall rJava from 
>> source once you do.)
>> 
> 
> Yes I did and have done so again. I've reinstalled rJava from source and get 
> the same error and the same output of running otool -L  on rJava.so.
> 
> Berend
> 
> Output of R CMD javareconf:
> 
> Java interpreter : /usr/bin/java
> Java version     : 1.8.0_74
> Java home path   : 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_74.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_74.jdk/Contents/Home/jre/../include
>  
> -I/Library/Java/JavaVirtualMachines/jdk1.8.0_74.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_74.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_74.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
> Done.
> 
> 
> 
>> 
>>> I have run otool on the installed rJava.so
>>> 
>>> otool -L rJava.so
>>> rJava.so:
>>>     rJava.so (compatibility version 0.0.0, current version 0.0.0)
>>>     @rpath/libjvm.dylib (compatibility version 1.0.0, current version 1.0.0)
>>>     /Library/Frameworks/R.framework/Versions/3.2/Resources/lib/libR.dylib 
>>> (compatibility version 3.2.0, current version 3.2.3)
>>>     
>>> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
>>>  (compatibility version 150.0.0, current version 1256.14.0)
>>>     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
>>> version 1226.10.1)
>>> 
>>> Berend
>>> 
>>>> On 14/02/2016 09:22, Berend Hasselman wrote:
>>>>> I have installed rJava, xlsx, xlsxjars, XLConnect and XLConnectJars.
>>>>> 
>>>>> Executing library(xlsx) gives this output
>>>>> 
>>>>> Loading required package: rJava
>>>>> Loading required package: xlsxjars
>>>>> Error : .onLoad failed in loadNamespace() for 'xlsx', details:
>>>>>  call: .jinit()
>>>>>  error: JNI_GetCreatedJavaVMs returned -1
>>>>> 
>>>>> Error: package or namespace load failed for '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.
>>>>> 
>>>>> 
>>>>> Executing library(XLConnect) gives this output
>>>>> 
>>>>> Loading required package: XLConnectJars
>>>>> Error : .onLoad failed in loadNamespace() for 'XLConnectJars', details:
>>>>>  call: .jinit()
>>>>>  error: JNI_GetCreatedJavaVMs returned -1
>>>>> 
>>>>> Error: package 'XLConnectJars' could not be loaded
>>>>> 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.
>>>>> 
>>>>> 
>>>>> sessionInfo (after library(xlsx) and library(XLConnect)) and javareconf 
>>>>> output below.
>>>>> 
>>>>> What is going on?
>>>>> What is the solution for this problem?
>>>>> 
>>>>> Berend Hasselman
>>>>> 
>>>>> 
>>>>> SessionInfo:
>>>>> 
>>>>> R version 3.2.3 Patched (2016-02-13 r70160)
>>>>> Platform: x86_64-apple-darwin13.4.0 (64-bit)
>>>>> Running under: OS X 10.11.3 (El Capitan)
>>>>> 
>>>>> locale:
>>>>> [1] en_IE.UTF-8/en_IE.UTF-8/en_IE.UTF-8/C/en_IE.UTF-8/en_IE.UTF-8
>>>>> 
>>>>> attached base packages:
>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>> 
>>>>> other attached packages:
>>>>> [1] xlsxjars_0.6.1 rJava_0.9-8
>>>>> 
>>>>> loaded via a namespace (and not attached):
>>>>> [1] tools_3.2.3
>>>>> 
>>>>> 
>>>>> Output of R CMD javareconf
>>>>> 
>>>>> [.../~]: R CMD javareconf -n
>>>>> Java interpreter : /usr/bin/java
>>>>> Java version     : 1.8.0_25
>>>>> Java home path   : 
>>>>> /Library/Java/JavaVirtualMachines/jdk1.8.0_25.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_25.jdk/Contents/Home/jre/../include
>>>>>  
>>>>> -I/Library/Java/JavaVirtualMachines/jdk1.8.0_25.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_25.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_25.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
>>>>> 
>>>>> _______________________________________________
>>>>> R-SIG-Mac mailing list
>>>>> R-SIG-Mac@r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Brian D. Ripley,                  rip...@stats.ox.ac.uk
>>>> Emeritus Professor of Applied Statistics, University of Oxford
>>> 
>> 
>> 
>> -- 
>> Brian D. Ripley,                  rip...@stats.ox.ac.uk
>> Emeritus Professor of Applied Statistics, University of Oxford
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to