R CMD build produces tar error under FreeBSD 5.4
On Tue, 27 Sep 2005, Eric van Gyzen wrote:
On Sun, Sep 25, 2005 at 12:07:02PM +0100, Prof Brian Ripley wrote:
On Sun, 25 Sep 2005, Andrew Robinson wrote:
Hi R-helpers, I am trying to build a package under FreeBSD 5.4-RELEASE #0 using R Version 2.1.1. I have constructed a package using package.skeleton(), when I try $ R CMD build foo * checking for file 'foo/DESCRIPTION' ... OK * preparing 'foo': * checking DESCRIPTION meta-information ... OK * cleaning src * removing junk files tar: Option -L is not permitted in mode -x Error: cannot open file 'foo/DESCRIPTION' for reading foo/DESCRIPTION exists and the permissions are correct. The same command works under Linux Fedora 2. The man pages on each OS imply that tar differs across the two platforms. Does anyone have any thoughts on a work-around?
No, because R does not use tar -L (which is to do with tape lengths on GNU tar). It does use tar chf and tar xhf. The h modifier would appear to be applicable only to dumps, so at a wild guess the error message means -h is not permitted. Try replacing xhf by xf.
FreeBSD >= 5.3 uses bsdtar. Previous versions used GNU tar.
In bsdtar, -h is a synonym for -L, and -L means:
-L (c and r mode only) All symbolic links will be followed. Nor-
mally, symbolic links are archived as such. With this option,
the target of the link will be archived instead.
The man page for bsdtar doesn't indicate an option to dereference
symlinks during extraction. :(
Thanks for the confirmation (which I had managed to find from http://www.freebsd.org/cgi/man.cgi?query=tar&apropos=0&sektion=0&manpath=FreeBSD+5.4-RELEASE+and+Ports&format=html ). R does not need xh here, and I have changed it in 2.2.0-beta. I do suggest you submit a bug report on the incorrect error message, though, which should refer to the option used, not one that is not used.
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