POSIX tar archives contain POSIX headers as "dummy" files named @PaxHeader
. 7zip dutifully extracts them, and they all collide, since they are all named the same. 7z then complains about the file being in use, and finishes with errors. It does extract other files, and the extended headers are of no use on Windows anyway.
This problem arose in the context of extracting Qt .tar.xz
archives when building Qt on Windows. The .tar.xz
files are more compact than the .zip
files, and it helps to reduce load in CI environments, where Qt may be downloaded and rebuilt often.
Is there a way to work around that?
@PaxHeader
s seem to be dealt with correctly. I cannot find anything which mentions this in the changelog, but upgrading 7Zip from 19.00 to 21.07, fixed this, for me.@PaxHeaders
in 7z 21.07, but not in all tar archives, so I might have to do with how it was made and perhaps tar versions. I my case tar 1.34 (Linux) usingtar --create --directory="dirA" "fileA" --directory="dirB" "fileB" > output.tar
--format=gnu
or--format=gnu
fix the problem. I read somewhere that OpenSUSE default to--format=posix
and using that format will show PaxHeaders in 7z