如何知道解压缩原因,返回代码81

问题描述

我正在使用yocto编译基于Linux的系统。解压缩ZIP文件时,编译(使用bitbake)步骤之一失败。失败的命令如下:

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

返回failed with return value 81

我已经检查了unzip代码81的含义,这意味着:由于不支持的压缩方法或不支持的解密,导致测试或提取一个或多个文件失败。

从终端运行时,相同的解压缩命令也起作用。

有没有办法检查错误原因81?换句话说,这是不支持的压缩方法还是不支持的解密?

更多信息:

  • 我已经运行unzip -v file.zip,发现压缩方法是 BZip2 应该受到支持。
  • 该文件未加密。
  • 该文件不受密码保护

解决方法

Yocto解压缩不带有bzip2支持。假设可以使用bzip2工具打开该文件(并且作为pmqs注释,这可能是一个错误的假设),我认为,如果重命名该文件,它应该就可以开始工作了,以便可以识别格式,并且使用正确的工具。像这样:

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

使用Zip-Ada。它支持Deflate,Deflate64, BZip2 和LZMA进行解压缩。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...