[Rd] tar binary in RTools 3.1.0.1939 has problems with tar.bz2 files

Dan Tenenbaum dtenenba at fhcrc.org
Fri Nov 22 22:10:31 CET 2013



----- Original Message -----
> From: "Duncan Murdoch" <murdoch.duncan at gmail.com>
> To: "Dan Tenenbaum" <dtenenba at fhcrc.org>, "R-devel" <r-devel at r-project.org>
> Sent: Friday, November 22, 2013 1:00:04 PM
> Subject: Re: [Rd] tar binary in RTools 3.1.0.1939 has problems with tar.bz2 files
> 
> On 22/11/2013 2:51 PM, Dan Tenenbaum wrote:
> > Hi,
> >
> > With Rtools 3.1.0.1936 I can create and extract from .tar.bz2
> > files:
> >
> > (first directory in %PATH% is c:\rtools31.1936\bin)
> >
> > E:\>tar jcvf tmp.tar.bz2 tmp
> > tmp/
> > tmp/foo.txt
> >
> > E:\>tar jtvf tmp.tar.bz2
> > drwxr-xr-x 4294967295/4294967295 0 2013-11-22 11:35 tmp/
> > -rw-r--r-- 4294967295/4294967295 3 2013-11-22 11:35 tmp/foo.txt
> >
> > E:\>mkdir ex
> >
> > E:\>cd ex
> >
> > E:\ex>tar jxvf ..\tmp.tar.bz2
> > tmp/
> > tmp/foo.txt
> >
> > E:\ex>cd ..
> >
> > E:\>rm -rf ex
> >
> > ...but this fails when using the tar binary in Rtools 3.1.0.1939.
> > The following lines are run with c:\rtools31.1939 as the first
> > directory in %PATH% (and there is only one Rtools installation
> > referenced in %PATH% in both these examples):
> >
> > E:\>tar jcvf tmp.tar.bz2 tmp
> > tmp/
> > tmp/foo.txt
> >
> > E:\>tar jtvf tmp.tar.bz2
> >
> > E:\>mkdir ex
> >
> > E:\>cd ex
> >
> > E:\ex>tar jxvf ..\tmp.tar.bz2
> >
> > E:\ex>ls
> >
> > E:\ex>
> >
> > Can this be fixed?
> 
> The tar.exe is identical in those two versions of Rtools, just the
> Cygwin DLLs (and a few other utilities) changed.  So I suspect this
> is
> something else, or perhaps a bug in the new Cygwin DLLs -- but the
> old
> Cygwin DLLs don't work on Win 8.1.

Do you know which version of the cygwin dll's was used to produce this tar.exe? I can try and report this to the cygwin people if I have the appropriate information.

> 
> Some things you could try:
> 
> Just use the old Rtools.
> 

I'll probably do this for now, but I will want to be able to keep moving forward as necessary.

> Use the Cygwin tar.exe (available from Cygwin) instead of ours.  At
> the
> time we made our custom tar.exe, the Cygwin one would not support
> Windows drive specs, but perhaps the current one does.
> 

So if I understand correctly, the way to do this would be to simply remove or rename the tar.exe in rtools so that the cygwin one shows up first in the PATH, right? I do not want to move cygwin's tar.exe into the rtools\bin directory because it was probably built against a different DLL.

> Use something else, e.g. bzip to decompress, then tar to get from the
> tar.
> 

Sure, but this problem arose in the context of a bioconductor package that was expecting (reasonably) that system("tar jxf ...") would work, and as a result the package would not build. This could conceivably happen again in other contexts so I'd rather not work around it each time.

Thanks!
Dan


> Duncan Murdoch
>



More information about the R-devel mailing list