Skip to content

Error in untar2(tarfile, files, list, exdir) : unsupported entry type ‘x’

3 messages · Christopher Bare, Brian Ripley

#
Hi,

I'm getting the following error when trying to build and install an R package:

Error in untar2(tarfile, files, list, exdir) : unsupported entry type ?x?

I build the package like so:
R --no-init-file CMD build mypackage

Then try to install it:
sudo R --no-init-file CMD INSTALL mypackage.tar.gz

...which dies with the above error. I can extract the archive fine
with tar -zxf.

R version 2.11.0 (2010-04-22)
OSX 10.6.3

I suspect this may be an OS X / Snow Leopard specific issue. It seems
that the entry type 'x' referred to above comes from tar.R and is the
type flag for "Extended header referring to the next file in the
archive" according the the GNU Basic Tar Format docs. Is Snow Leopard
adding some apple specific juju to my files that's causing this?

This was originally posted on r-help. Please excuse the cross-post.

Any hints would be greatly appreciated! Thanks,


- chris
#
On Wed, 19 May 2010, Christopher Bare wrote:

            
Yes, it is.  (Or more accurately, the 'tar' from libarchive is, and 
Apple changed the 'tar' they used for SL.)  And ?tar refers you to 
less partisan documentation.

Note that GNU is not a standard here: POSIX was, and these 
extensions are non-standard.  And neither GNU tar nor the libarchive 
tar follow the standard in other ways (nor do they even comply to 
their own documentation).
Please do follow the posting guide: you failed to so some basic 
homework.  E.g. NEWS says

     o	R CMD INSTALL now uses the internal untar() in package utils:
 	this ensures that all platforms can install bzip2- and
 	xz-compressed tarballs.	 In case this causes problems (as it
 	has on some Windows file systems when run from Cygwin tools)
 	it can be overridden by the environment variable
 	R_INSTALL_TAR: setting this to a modern external tar program
 	will speed up unpacking of large (tens of Mb or more)
 	tarballs.

and this is also documented under ?INSTALL.

  
    
#
Dr. Ripley,

Thanks for your reply and for the pointer to the environment variable
to the R_INSTALL_TAR. That did the trick nicely.

Without resorting to the above solution, I was able to build my
package an another machine, also Snow Leopard. One difference between
the two machines is that user accounts and groups on my work machine
are managed by Active Directory, while my own machine has whatever
passes for 'normal' local accounts on OS X. So, I suspect that's the
source of the 'extended' non-standard tar block types.

Thanks,

-chris



On Wed, May 19, 2010 at 11:04 PM, Prof Brian Ripley
<ripley at stats.ox.ac.uk> wrote: