From ripley at stats.ox.ac.uk  Sat Feb 16 08:25:11 2008
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sat, 16 Feb 2008 07:25:11 +0000 (GMT)
Subject: [Rd] Perils of R_LIBRARY_PATH
In-Reply-To: <47B653ED.5040800@cimr.cam.ac.uk>
References: <Pine.LNX.4.64.0802131346450.10778@auk.stats>
	<47B653ED.5040800@cimr.cam.ac.uk>
Message-ID: <alpine.LFD.1.00.0802160714090.4940@gannet.stats.ox.ac.uk>

On Sat, 16 Feb 2008, Hin-Tak Leung wrote:

> Hi,
>
> Just for interest, may I ask which platform are you referring to?
> You are on a commercial unix platform such as solaris, right?

amd64 Linux -- a bit of tracing shows that to be from a jpackage-d version 
of the Sun SDK.  So my guess is that the packaging picked up the libs (I 
didn't install that particular JDK).

> Older JDK/JRE on unices uses motif as the the AWT peer implementation.
> The motif toolkit libraries are always found on commercial unices, but
> for the same reason, not found on linux (and Sun JDK for linux used to
> link to motif statically, I think). Recent JDK/JRE uses a Gtk AWT peer
> (also the case for gcj). I have Sun JDK 1.4, 1.5, 1.6 and the newly
> open-sourced 1.7 (this comes with fedora 8) on linux (as well as gcj),
> but none of them have gtk libs bundled... but I can imagine Sun need to
> ship gtk libs with jdk for older commercial unices - newer commercial unices 
> may or may not have the gtk libs. (some do, I believe).

Solaris 10 has Gtk2 but not cairo (which is relevant as R will have a 
cairo-based version of X11).

> Cheers,
> Hin-Tak
>
> Prof Brian Ripley wrote:
>> The R front end sets (via etc/ldpath) R_LIBRARY_PATH, including 
>> R_JAVA_LD_LIBRARY_PATH.  Perhaps the later is too obliging, as I've just be 
>> caught by it in a way that took me a while to track down.
>> 
>> One of my machines has a Sun jdk1.6.0* JDK installed, and as a result
>> we have
>> 
>> ${R_JAVA_LD_LIBRARY_PATH=${JAVA_HOME}/lib/amd64/server:${JAVA_HOME}/lib/amd64:
>> ${JAVA_HOME}/../lib/amd64}
>> 
>> What I was not aware of was that the Sun JDK contains Gtk+ libraries such 
>> as cairo and pango, and those were older than the ones whose headers I had 
>> compiled against which eventually resulted in a crash.
>> 
>> It seems to be an issue only for a JDK: perhaps Simon can tweak his 
>> incantations to use only the JRE library path (and avoid the '../lib/amd64' 
>> above)?
>> 
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] Perils of R_LIBRARY_PATH
Prof Brian Ripley