[R-SIG-Mac] 64-bit packages and 32-bit R

Simon Urbanek simon.urbanek at r-project.org
Mon Oct 26 14:57:00 CET 2009

On Oct 26, 2009, at 9:37 , Richard R. Liu wrote:

> Thanks for the prompt reply.  Yes, I understand that I have just one  
> package and that I can start in in two modes.  If I launch R.app, R  
> runs in 32-bit mode; if R64.app, in 64-bit mode.
> In 64-bit mode, it can happen that a package that I have installed  
> while running in 32-bit mode needs a 64-bit version.  Such a package  
> is openNLP. openNPL Since posing the question I have in fact  
> installed the 64-bit version.  In that situation I encountered a  
> Java heap space exception, which I have reported elsewhere.  So I  
> exited 64-bit R, and ran R.app (32-bit R).  The same operation that  
> encountered the heap space problem in 64-bit R ran without a problem  
> in 32-bit R, I am assuming with the 64-bit version of openNLP.

I think you're confusing things here and your assumptions are wrong.  
First, openNPL dos *not* include any native code, so it's neither 32-  
nor 64-bit -- it contains only R scripts. Further your heap overrun  
issue has nothing to do with 32-/64-bit per se -- you just didn't  
raise the heap limit as I was pointing out in my response to your  
other e-mail. And finally, there is no choice of 32 vs 64-bit for  
packages -- you can only run 32-bit packages in 32-bit R and 64-bit  
packages in 64-bit R. Consequently you can only run 32-bit Java in 32- 
bit R and 64-bit Java in 64-bit R.

> So I guess I must repose my question:  Will this always be the  
> case?  That is, will a 64-bit version of a package always run OK in  
> 32-bit R?

It will never run.


> On Mon, 26 Oct 2009 08:45:15 -0400, Simon Urbanek wrote
>> On Oct 26, 2009, at 2:42 AM, Richard R. Liu wrote:
>>> I'm running R 2.9.2 build 5464 on OS X 10.5.8.  Having encountered
>>> memory allocation problems, I ran the problematic code in R64, the
>>> 64-bit version of the same build.  When I attempt to load openNLP I
>>> receive the error message that the 32-bit version that I had been
>>> using does not run in R64.
>>> I understand that there is a 64-bit version of openNLP, and that it
>>> installs in R64 without problems.  I am assuming, however, that
>>> packages installed by 32-bit R and those installed by 64-bit R land
>>> in the same place, because I can see the 32-bit packages in the
>>> package list of 64-bit R. So my question is, when I subsequently
>>> switch to R (32-bit), will 64-bit versions of packages run there?
>>> I'm trying to avoid constantly having to manually switch between 32-
>>> and 64-bit versions of packages.
>> I'm assuming you're talking about the Leopard build -- in that case
>> both 32-bit and 64-bit are part parts of the same R and package --
>> they are not a 'different package'. Please read about sub-
>> architectures in R documentation to understand the details if you
>> desire, but you are not supposed to "switch" anything. The only
>> problems you can cause is to forget to upgrade your packages when
>> you  installed the Leopard build.
>> Cheers,
>> Simon
> --
> Richard R. Liu
> Dittingerstr. 33
> CH-4053 Basel
> Switzerland
> Tel.:  +41 61 331 10 47
> Email:  richard.liu at pueo-owl.ch

More information about the R-SIG-Mac mailing list