From edd at debian.org  Tue Oct 14 14:27:45 2008
From: edd at debian.org (Dirk Eddelbuettel)
Date: Tue, 14 Oct 2008 07:27:45 -0500
Subject: [Rd] [R-sig-Debian] problem with update.packages (PR#13161)
In-Reply-To: <alpine.LFD.2.00.0810141237240.27368@gannet.stats.ox.ac.uk>
References: <20081014004005.F12F2282EF48@mail.pubhealth.ku.dk>
	<48F44CE8.3080409@biostat.ku.dk>
	<alpine.LFD.2.00.0810140845150.20953@gannet.stats.ox.ac.uk>
	<18676.33731.948767.124281@ron.nulle.part>
	<alpine.LFD.2.00.0810141237240.27368@gannet.stats.ox.ac.uk>
Message-ID: <18676.36929.70542.752650@ron.nulle.part>


On 14 October 2008 at 12:38, Prof Brian Ripley wrote:
| The error is on installed.packages(): you have a faulty package installed.

Confirmed. That explains why my update.r from littler worked as it looked
only at /usr/local/lib/R/.  Being more explicit about lib.loc I get:

> update.packages(repos="http://cran.r-project.org", lib.loc="/usr/lib/R/site-library")
Error in read.dcf(pkgpath, fields = fields) : 
  Line starting 'unix; ...' is malformed!
> update.packages(repos="http://cran.r-project.org", lib.loc="/usr/lib/R/library")
boot :
 Version 1.2-33 installed in /usr/lib/R/library 
 Version 1.2-34 available at http://cran.r-project.org
Update (y/N/c)?  n
[...]
> 

But how do I find out which package this is, and why did R 2.7.2 didn't fall
over?

Dirk

| 
| On Tue, 14 Oct 2008, Dirk Eddelbuettel wrote:
| 
| >
| > On 14 October 2008 at 10:09, Prof Brian Ripley wrote:
| > | On Tue, 14 Oct 2008, Peter Dalgaard wrote:
| > |
| > | > edd at debian.org wrote:
| > | >> On 14 October 2008 at 09:39, Simon Blomberg wrote:
| > | >> | Hi, is anyone else getting this error? Could this be a bug?:
| > | >> | | > update.packages(ask=FALSE)
| > | >> | Error in read.dcf(pkgpath, fields = fields) : |   Line starting 'unix;
| > | >> ...' is malformed!
| > | >> | | > sessionInfo()
| > | >> | R version 2.8.0 RC (2008-10-12 r46696) | x86_64-pc-linux-gnu
| > | >> Confirmed in plain R using the same package built this morning from last
| > | >> night's tarball from Denmark:  Running update.packages() yields:
| > | >>
| > | >>> update.packages()
| > | >> --- Please select a CRAN mirror for use in this session ---
| > | >> Loading Tcl/Tk interface ... done
| > | >> Error in read.dcf(pkgpath, fields = fields) :
| > | >>   Line starting 'unix; ...' is malformed!
| > | >>
| > | >>
| > | >> OTOH I don't have a problem running my 'update.r' script (included in
| > | >> littler as
| > | >> /usr/share/doc/littler/examples/update.r) which just downloaded / upgraded
| > | >> ten packages. It is equivalent to calling
| > | >>> repos <- "http://cran.r-project.org"
| > | >>> lib.loc <- "/usr/local/lib/R/site-library"
| > | >>> update.packages(repos=repos, ask=FALSE, lib.loc=lib.loc)
| > | >>
| > | >> and that sequence also works in plain R.  Could someone please dig into
| > | >> update.packages() ?
| > | >> Dirk
| > | >
| > | > Hmm, some of us are wary of running update.packages() in non-production
| > | > versions. Is the problem perhaps originating in getCRANmirors() or
| > | > chooseCRANmirror()?
| > |
| > | (Neither of those read DCF files: my expectation is that this is
| > | available.packages() reading a DCF file downloaded from a CRAN mirror.)
| > |
| > | I do use update.packages() daily on pre-2.8.0 and I have not seen a
| > | problem.  (I keep a separate package installation for test versions.)
| > |
| > | Can we please have some useful debugging info, e.g. the result of
| > | traceback() and which CRAN mirror is being used?  I suspect a problem with
| > | downloading PACKAGES.gz resulting in a corrupt file (possibly because it
| > | was corrupt on the mirror).
| >
| > Quite possible. This is a fresh failure picking the 'US (MI)' mirror:
| >
| >> update.packages()
| > --- Please select a CRAN mirror for use in this session ---
| > Loading Tcl/Tk interface ... done
| > Error in read.dcf(pkgpath, fields = fields) :
| >  Line starting 'unix; ...' is malformed!
| >> traceback()
| > 6: read.dcf(pkgpath, fields = fields)
| > 5: .readPkgDesc(lib, fields)
| > 4: installed.packages(lib.loc = lib.loc)
| > 3: NROW(instPkgs)
| > 2: old.packages(lib.loc = lib.loc, contriburl = contriburl, method = method,
| >       available = available, checkBuilt = checkBuilt)
| > 1: update.packages()
| >>
| >
| > But if I then re-run chooseCRANmirror() and pick Austria, it still fails:
| >
| >> chooseCRANmirror()
| >> update.packages()
| > Error in read.dcf(pkgpath, fields = fields) :
| >  Line starting 'unix; ...' is malformed!
| >>
| >
| > yielding the same traceback.
| >
| > Dirk
| >
| > -- 
| > Three out of two people have difficulties with fractions.
| >
| 
| -- 
| 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

-- 
Three out of two people have difficulties with fractions.



[Rd] [R-sig-Debian] problem with update.packages (PR#13161)
Dirk Eddelbuettel