Error trying to unzip file: "need PK compat. v6.1 (can do v4.6)"

Origin of the error

The PK in the error stands for Phil Katz, the inventor of the original PKZIP format. The zip utility has not kept up with the capabilities of the pkzip derived commercial software, particularly the certificate storage that banks like to include in their ZIP files.

Wikipedia gives an overview of the development of the format. But the Unix zip utilities don't implement the changes after the year 2002.

You might have to buy the PKWARE commercial version for Linux to uncompress this.

The man page for zip has the following to say for itself and unzip:

   A  companion  program  (unzip(1))  unpacks  zip  archives.  The zip and
   unzip(1) programs can work with archives produced by PKZIP  (supporting
   most PKZIP features up to PKZIP version 4.6), and PKZIP and PKUNZIP can
   work with archives produced  by  zip  (with  some  exceptions,  notably
   streamed  archives,  but  recent  changes  in the zip file standard may
   facilitate better compatibility).  zip version 3.0 is  compatible  with
   PKZIP  2.04  and  also supports the Zip64 extensions of PKZIP 4.5 which
   allow archives as well as files to exceed the previous 2 GB limit (4 GB
   in  some  cases).  zip also now supports bzip2 compression if the bzip2
   library is included when zip is compiled.  Note that PKUNZIP 1.10  can‐
   not extract files produced by PKZIP 2.04 or zip 3.0. You must use PKUN‐
   ZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.

Solution

Although zip cannot do the job there are other tools that can. You mention the 7zip utility and the Linux/Unix commandline version of 7-Zip that, among others can read and write ZIP format. It claims that if 7-Zip cannot read a zip file, that in 99% of the cases the file is broken. 7-Zip utilities should be able to read your file, so either it is broken or else yours are in the 1% (for which I found no further details).

7-zip on Linux comes in various executables with different format support. The most basic ( 7zr ), doesn't support ZIP, you should use at least 7za or the full-fledged 7z:

7za x filename.zip

Different Linux version package 7za/7z in packages with different names.

The most easy (as so often) is installing on Solus:

sudo eopkg install p7zip

On Debian derived Linux version, the package p7zip only installs the base 7z that doesn't support ZIP. This split-up has caused some problems and installing p7zip-full doesn't do what it says, sometimes you also have to install p7zip-rar On my Linux Mint system I needed to do:

sudo apt-get install p7zip-full p7zip-rar

On RedHat/CentOS you need to have the EPEL repository enabled. E.g on CentOS 7 I needed to do:

sudo yum install epel-release
sudo yum --enablerepo=epel install p7zip

I ran in to the same problem except with PK compat. v6.3. Solved it by extracting the archive with the 7-zip POSIX version.

Arch Linux package: p7zip.


I ran into the exact same error code (need PK compat. v6.1) while trying to unzip a zip file with the default MacOS unzipper.

I tried the p7zip and got kind of deep into it before checking the App Store.

In the App Store, I found a free unzipper app called "Unarchiver" (the first search result as of this writing) and it successfully unzipped the file without any problems.

For Mac users, I'd suggest using that free "Unarchiver" program.

Tags:

Zip