From simon.urbanek at r-project.org  Wed Jul 19 16:18:13 2006
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Wed, 19 Jul 2006 10:18:13 -0400
Subject: [Rd] [BioC] Errors using biocLite on Apple OS X
In-Reply-To: <0BE438149FF2254DB4199E2682C8DFEB01D55497@crcmail1.BCCRC.CA>
References: <0BE438149FF2254DB4199E2682C8DFEB01D55493@crcmail1.BCCRC.CA>
	<44BD3BC8.9050500@fhcrc.org>
	<0BE438149FF2254DB4199E2682C8DFEB01D55497@crcmail1.BCCRC.CA>
Message-ID: <5DA89313-8FAB-4146-8780-624CB2DCCC3E@r-project.org>

Steven,

short story: now fixed in R-devel. The long story:

On Jul 18, 2006, at 8:15 PM, Steven McKinney wrote:

> The warnings from
>
>  make.packages.html()
>
> on the Apple Mac OS X platform can be dealt
> with as follows:
>

The warning appears for a completely different reason -  
make.packages.html() assumes that HTML help was started and created  
all necessary links which is not the case in the R Mac OS X GUI,  
until you request one of the temporarily generated pages. The idea of  
make.packages.html is to update the  temporary copy of HTML  
documentation on installation such that packages list is up-to-date,  
but since the R GUI generates the files only on-demand, there is no  
need for such update if no temporary documentation was requested yet,  
and so updating doesn't make sense (and the warning can be ignored).  
The correct fix is not not run make.packages.html() at all if the  
temporarily generated list doesn't exist and I have fixed that now  
for R-devel.

All your 'work-arounds' are bogus - may have asked on R-SIG-Mac to  
save you the trouble of going in a completely wrong direction -  just  
invoke the main help page (<Cmd><?>) before installing and the  
temporary help files will be created.


> ------------------------------------------------
> (1)
>
> make.packages.html() uses the function tempdir() and attempts to  
> create a temporary directory in the default location /tmp/ which  
> fails due to the /tmp directory architecture on the Mac.
>

This is of course nonsense. Mac OS X uses /tmp as many other unix  
systems do and it is available (tempdir() works as well).


> (2)
>
> The function make.packages.html() attempts to create a couple of  
> files, but fails on Mac OS X. Apparently a directory must already  
> exist for file.create() to successfully establish a new file in it.
>

Yes, it fails because it expects the help system to have created them  
already and you're not supposed to mess with that manually. (Again,  
this is not Mac-specific - until help.start is invoked, the  
directories are not there on any unix).


> However, when biocLite() runs, it does not access my redefined  
> make.packages.html() in .Globalenv - the bioclite() call appears to  
> always call the package:utils copy of this function.
>

Yes, that is intentional, thanks to namespaces.


> Thanks to Herve Pages for his excellent summarization of the issues  
> arising when running biocLite on the Mac.
>

For the record, the other warning mentioned appears when installing  
from empty repositories - it is not Mac specific. (The lindsey  
repository is empty on Bioc, because none of the packages compiles).  
I have now also committed the fix (thanks to Seth for the correct  
analysis and fix).

Cheers,
Simon


> -----Original Message-----
> From: Herve Pages [mailto:hpages at fhcrc.org]
> Sent: Tue 7/18/2006 12:51 PM
> To: Steven McKinney
> Cc: Bioconductor at stat.math.ethz.ch
> Subject: Re: [BioC] Errors using biocLite on Apple OS X
>
> Hi Steven,
>
> I can see warnings only in what you reported. These warnings
> are well-known issues but are not biocLite problems: they are
> Mac OS X install.packages() specific issues.
>
> The first warning:
>   1: number of rows of result
>        is not a multiple of vector length (arg 2) in: cbind(1, res0,
> Repository = repos)
> is issued by install.packages() when it is given a repos vector with
> length >= 4.
> You can easily reproduce it with:
>> repos <- c("http://bioconductor.org/packages/1.8/bioc",
>      "http://bioconductor.org/packages/1.8/data/annotation",
>      "http://bioconductor.org/packages/1.8/data/experiment",
>      "http://bioconductor.org/packages/1.8/omegahat",
>      "http://bioconductor.org/packages/1.8/lindsey",
>      "http://cran.fhcrc.org")
>> install.packages("Biobase", repos=repos)
>
> The second warning is a permission issue specific to Mac OS X.
>
> Anyway, these warnings should not prevent biocLite to install the  
> requested
> packages correctly.
>
> Cheers,
>
> H.
>
>
> Steven McKinney wrote:
>> I've recently started using R and Bioconductor
>> on an Apple Mac running OS X (10.4). I've been
>> installing packages from the *nix command line,
>> one by one, no trouble.
>>
>> I would like to be able to update using
>> biocLite from the R gui, but keep getting
>> errors.
>>
>>
>>> version
>> _
>> platform powerpc-apple-darwin8.6.0
>> arch powerpc
>> os darwin8.6.0
>> system powerpc, darwin8.6.0
>> status
>> major 2
>> minor 3.1
>> year 2006
>> month 06
>> day 01
>> svn rev 38247
>> language R
>> version.string Version 2.3.1 (2006-06-01)
>>
>>
>>> source("http://bioconductor.org/biocLite.R")
>>> biocLite("Biobase", destdir =
>>> "/Volumes/KilroyHD/kilroy/Software/BioConductor")
>> Running getBioC version 0.1.6 with R version 2.3.1
>> Running biocinstall version 1.8.4 with R version 2.3.1
>> Your version of R requires version 1.8 of Bioconductor.
>> trying URL
>> 'http://bioconductor.org/packages/1.8/bioc/bin/macosx/powerpc/ 
>> contrib/2.3/Biobase_1.10.1.tgz'
>> Content type 'application/x-gzip' length 1465858 bytes
>> opened URL
>> ==================================================
>> downloaded 1431Kb
>>
>> Warning messages:
>> 1: number of rows of result
>> is not a multiple of vector length (arg 2) in: cbind(1, res0,
>> Repository = repos)
>> 2: cannot create HTML package index in: make.packages.html()
>>
>>
>> I am using version 1.10.1 of Biobase, I presume this is the
>> version number for Bioconductor.
>>
>> I see a few others reporting similar errors
>> when I google this issue, but I see no posted
>> solutions. Can anyone see what I am doing wrong,
>> and is there a solution?
>>
>> Any info appreciated
>>
>>
>> Best regards
>>
>> Steven McKinney
>>
>> Statistician
>> Molecular Oncology and Breast Cancer Program
>> British Columbia Cancer Research Centre
>>
>> email: smckinney at bccrc.ca
>>
>>
>>
>> BCCRC
>> Molecular Oncology
>> 675 West 10th Ave, Floor 4
>> Vancouver B.C.
>> V5Z 1L3
>> Canada
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives:
>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>
>
>
> -- 
> ------------------------
> Herv? Pag?s
> E-mail: hpages at fhcrc.org
> Phone: (206) 667-5791
> Fax: (206) 667-1319
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>



[Rd] [BioC] Errors using biocLite on Apple OS X
Simon Urbanek