[R-SIG-Mac] Installing multiple architectures for a package

Steven McKinney smckinney at bccrc.ca
Thu Nov 27 06:22:47 CET 2008

Hi Simon,

> On Nov 26, 2008, at 11:06 PM, Steven McKinney wrote:
> > Hi all,
> >
> > I have set up both 32-bit and 64-bit versions of
> > R.app and can run them happily at the same time.
> > (I'll refer to them as R32.app and R64.app)
> >
> > However, if I install a package using the R32.app
> > package installer, then install the same package
> > from R64.app, the 32 bit version is removed.
> >
> This is not about 32-bit vs. 64-bit --- this is about which build of R 
> you use. The Tiger build supports only 32-bit, the Leopard build 
> supports both 32 and 64-bit. It is irrelevant which architecture you 
> use (32 ot 64-bit). You have to use the packages binaries for the 
> correct build, but that should happen automatically.

My apologies for 32-bit 64-bit nomenclature mangling.  

I have Leopard on my Mac (sessionInfo below), and 16GB RAM, 
and mountains of data to process.  So having 64-bit capability 
allows me to get lots of processing done that would otherwise 
be painful.

I use a lot of Bioconductor packages, but they are not
providing ppc64 architecture with their binaries.

In a recent email (Nov 6, 2008 - inserted at end of this
email) you kindly offered to compile BioC packages
so that ppc64 architecture would be available.  Will
you be able to offer this?  If so, where will those
binary packages containing ppc64 architecture be
found - at your website or Bioconductor?

If not, then I need to figure all this out.
It is very convenient to install the bulk of
packages via the R.app package installer, but
then I have to do the ppc64 architecture additionally.

> > Is there a way to install from R64.app so that the *package*/libs/
> > ppc64 directory is added to the already existing *package*/libs/ and 
> > the appropriate 64 bit file versions are installed into *package*/
> > libs/ppc64 without deleting the whole library directory?  (At 
> > present each R32.app or R64.app install deletes the whole package's 
> > library directory so I only end up with one architecture installed.)
> >
> Yes, if you install from sources use
> R CMD INSTALL --libs-only
> See R for Mac FAQ "5.4 Building universal packages"
> However, you should only need that in rare cases (for packages with 
> Makefile or configure script). Make sure you know what you're doing 
> (please read the whole package installation FAQ section).

Since I use many Bioconductor packages, this is not
rare, unfortunately, since they do not offer ppc64
binaries.  Not all CRAN binaries include ppc64 either.

It appears that if I install binaries from R32.app,
then I have to add the ppc64 versions via command line
R --arch=ppc64 CMD INSTALL --libs-only packagename.tar.gz

Would it be possible to add a --libs-only option
to the R.app package installer to help automate this?

Thanks for your guidance

Steve M

> Cheers,
> Simon
> > I've reviewed the install.packages() help and
> > am not seeing a way to accomplish this via
> > the command line.  Did I miss something?
> > Is there a way to add an architecture to a
> > package's already existing libs/ directory?
> >
> >
> > Steven McKinney
> >
> > Statistician
> > Molecular Oncology and Breast Cancer Program
> > British Columbia Cancer Research Centre
> >
> > email: smckinney +at+ bccrc +dot+ ca
> >
> > tel: 604-675-8000 x7561
> >
> > Molecular Oncology
> > 675 West 10th Ave, Floor 4
> > Vancouver B.C.
> > V5Z 1L3
> > Canada
> >
> > _______________________________________________
> > R-SIG-Mac mailing list
> > R-SIG-Mac at stat.math.ethz.ch
> > https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> >
> >

> On Nov 6, 2008, at 7:24 PM, Patrick Aboyoun wrote:
> > Steve and Steve,
> > While this is slightly off topic, I would just like to offer a brief 
> > aside since Bioconductor has been brought up on this mailing list. 
> > The Bioconductor project doesn't support ppc64 at this time and that 
> > is why I was silent on it in my e-mail to the Bioconductor 
> > community. We currently have only one Mac OS X 10.5 (Leopard) build 
> > machine and it uses Intel technology. The reason why some of the 
> > BioC 2.3 packages have ppc64 binaries and some don't is because some 
> > packages with external source code let R fully control the compiler 
> > flags (like the one specifying the architecture) and others don't 
> > (e.g. because they include a make framework). For the ones that R 
> > has complete compiler flag control over, the BioC 2.3 Mac OS X 
> > Leopard packages contain all four architectures since we use Simon 
> > Urbanek's R binaries that contain quad-architecture support as well 
> > as the compilers he recommends. When R doesn't have full control 
> > over the compilation flags, we use a standard R-based compilation 
> > method to create the libraries that are appropriate for ppc, i386, 
> > x86_64. If there are others out there who are in the same boat as 
> > Steve McKinney and would like to use BioC 2.3 on a ppc64 and are 
> > having trouble doing so, let me know so I can pass that information 
> > on to the BioC core team.
> >
> This is slightly off-topic, but I could offer my ppc64 machine to 
> build libraries for BioC binaries with configure script if that is 
> desirable. According to the Mac survey there are very few ppc64 
> machines with enough memory to warrant 64-bit R for ppc64, so it's 
> still a questionable endeavor, but possible. (In fact I'm still not 
> quite convinced that it's worth maintaining ppc64 binaries since G5 is 
> now obsolete and next OS X reportedly won't support it anyway, but as 
> long as I have a G5 in my office I'm simply keeping it in the chain).
> Cheers,
> Simon

> sessionInfo()
R version 2.8.0 Patched (2008-11-06 r46845) 


attached base packages:
 [1] splines   grid      tools     stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] oligo_1.6.0              affxparser_1.14.0        VanillaICE_1.4.0         SNPchip_1.6.0           
 [5] oligoClasses_1.4.0       beadarraySNP_1.8.0       quantsmooth_1.8.0        lodplot_1.1             
 [9] quantreg_4.23            SparseM_0.78             beadarray_1.10.0         sma_0.5.15              
[13] hwriter_0.93             geneplotter_1.20.0       lattice_0.17-15          limma_2.16.3            
[17] illuminaHumanv3.db_1.1.2 lumi_1.8.3               RSQLite_0.7-1            DBI_0.2-4               
[21] preprocessCore_1.4.0     mgcv_1.4-1               affy_1.20.0              annotate_1.20.1         
[25] xtable_1.5-4             AnnotationDbi_1.4.1      Biobase_2.2.1           

loaded via a namespace (and not attached):
[1] KernSmooth_2.22-22 RColorBrewer_1.0-2 affyio_1.10.1     

More information about the R-SIG-Mac mailing list