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

Dirk Eddelbuettel edd at debian.org
Tue Oct 14 13:34:27 CEST 2008


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.



More information about the R-devel mailing list