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

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Oct 14 14:32:46 CEST 2008


On Tue, 14 Oct 2008, Dirk Eddelbuettel wrote:

>
> 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?

Use options(error=recover), and look at pkgpath in the read.dcf call.

>
> 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.
>

-- 
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



More information about the R-devel mailing list