From: Thomas L. <ta...@ec...> - 2006-01-07 18:05:09
|
On Thu, 05 Jan 2006 14:09:02 -0500, Peter wrote: > On Thu, 05 Jan 2006 18:27:19 +0000, Thomas Leonard wrote: > >> On Thu, 05 Jan 2006 12:54:23 -0500, Peter wrote: >> >>> When extracting from an archive, if a file inside is > 2G, the >>> extraction aborts and no files after the large file are extracted. The >>> large file stops at 2G. A similar issue existed with avfs where a needed >>> variable for size was defined as long instead of long long. Probably a >>> similar issue here. >>> >>> The size of the archive is not the problem. Just the contents in it. >>> >>> For the time being, tar -x[jz] must be used. >> >> That's odd. Archive doesn't know anything about the contents of the >> archive. It would make sense if it failed for a *total* archive size over >> 2 Gb (that would suggest Python had been compiled without large file >> suppport). >> >> To check, try: >> >> $ strace python -c 'file("LOOKHERE")' |& grep LOOKHERE open("LOOKHERE", >> O_RDONLY|O_LARGEFILE) = -1 ENOENT >> >> (replace |& with your shell's pipe-including-stderr operator) > > I could not get your command to work. I _did_ try this and here is a > result...Maybe not _the_ result, but a start. Let me know what else to > check... > peter@mars ~ $ strace python -c 'file("LOOKHERE")' 2>&1 | grep 'LOOKHERE' > execve("/usr/bin/python", ["python", "-c", "file(\"LOOKHERE\")"], [/* 55 vars */]) = 0 > open("LOOKHERE", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) Yes, it's using O_LARGEFILE, so that's not it. > Remember though, the error was NOT in creating the file. I used Archive to > create the tgz archive. It was in extracting the file. FWIW, file-roller > also crapped out at 2GB reading the archive. > > Perhaps there is a python module used to read an archive? If so, the > problem lays there. No, Archive just runs tar (see formats.py): tgz = Extract('tgz', "gunzip -c - | tar xf -") You could try running that manually, eg: $ gunzip -c - < my.tgz | tar xf - -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |