[R-SIG-Mac] Problems loading Java libraries in R 2.2.1 OS X 10.4.5, Java 1.5.0 rev 3

Marc Saric marc.saric at gmx.de
Thu Apr 6 10:20:46 CEST 2006


Simon Urbanek wrote:

> Marc,
> 
> I have no idea about RMAGEML, but in general the Java version is 
> determined by the compiler flags used. If the configure script is 
> reasonable, it should be using -framework JavaVM to link to JNI in 
> which case the used version is determined solely by the
> /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
> softlink.

That's exactly what I thought after my initial try to compile the
package did not work (except that it was not clear to me wether the
"CurrentJDK" link was the only place where things could go wrong).

So I did check my setup:

lrwxr-xr-x    1 root  wheel    3 Nov  8 10:47 CurrentJDK -> 1.5

which in turn points to 1.5.0, so this should be correct.


> Quick check shows that RMAGEML is one of the few BioC packages that 
> fails to build on OS X, because its configure script is nether  checking
> nor detecting Java. I'd recommend you to talk to the  maintainer. Java
> detection is now part of several packages (e.g.  rJava on CRAN) and also
> R itself, so it should not be hard to fix it.  Of course, chances are
> that compiler flags are just one part of the  problem, and the segfault
> is caused by something else, but better  start fixing things from the
> bottom ;).

You are right here, the package does not check for the correct Java
automatically, but has to be forced to do it correctly. I managed to
compile it by unpacking the tar.gz and hand-editing

RMAGEML/src/Makevars (and Makevars.perm and Makevars.in) so that it
looks like this

# for macosx of 3/05
#
PKG_CPPFLAGS=-I/System/Library/Frameworks/JavaVM.framework/Headers
PKG_LIBS=-framework JavaVM

after that it compiled (actually this code was in the Makevars script
allready and just had to be uncommented -a more clever Makevars should
fix this).

At least the PKG_CPPFLAGS points to

lrwxr-xr-x    1 root  wheel   24 Apr  5 14:56 Headers ->
Versions/Current/Headers

which should be ok (see above).

Will have a closer look at the CPPFLAGS and LIBS settings and try to
find out some more stuff about Java on Mac and try again.

P.S. Got mail from the original author, he mentions that no one tried to
compile it on Mac so far -might become interresting. :-)

-- 
Bye,

Marc Saric



More information about the R-SIG-Mac mailing list