Search code examples
zipyoctounzipbitbake

How to know cause of unzip returning code 81


I am compiling a linux-based system using yocto. one of the steps of the compilation (using bitbake) fails while unpacking a ZIP file. The command that is failing is the following:

unzip -q -o '/absolute/path/to/file.zip'

Which return failed with return value 81

I have checked the meaning of unzip's code 81 which means: testing or extraction of one or more files failed due to unsupported compression methods or unsupported decryption.

The same unzip command works when run from a terminal.

Is there a way yo check the cause of the error 81? In other words, which is the unsupported compression method or unsupported decryption?

More information:

  • I have run unzip -v file.zip and found that compression method is BZip2 which should be supported.
  • The file is not encrypted.
  • The file is not password protected

Solution

  • Yocto unzip is not built with bzip2 support. Assuming that the file can be opened with bzip2 tool (and as pmqs comments this may be an incorrect assumption), I think it should just start working if you rename the file so that the format is recognised and the correct tool gets used. Something like this:

    SRC_URI = "http://example.com/download/fname-${PV}.zip;downloadfilename=fname-${PV}.bz2"