Theos dpkg-deb: error: obsolete compression type ‘lzma’; use xz instead

qq20161220-1

好久没有弄ios越狱开发的东西了,今天升级完theos 编译工具的时候提示下面的错误信息:

dpkg-deb: error: obsolete compression type 'lzma'; use xz instead
 
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
make: *** [internal-package] Error 2

错误信息看起来很简单,并且说的也很明白,压缩方式不被支持。要解决也比较简单,找到这个参数在文件中的位置,修改为xz就可以了,直接执行搜索:

find /var/theos -type f -name "*.mk" | xargs grep "lzma"

最后发现是在/var/theos/makefiles/package/deb.mk 文件中,直接修改第六行为

_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= xz

就可以了。再次编译完美通过,其实最主要的原因是dpkg有两个不同的版本,最新版本不支持lzma。

qq20161220-0

另外一个办法是直接使用旧版本,命令如下:

brew switch dpkg 1.18.10
brew link dpkg
brew pin dpkg 1.18.10

You may also like

6条评论

    1. 这个我没注意,因为我没有安装deb,直接解压出来拉的文件复制到手机上了。可以用另外的那个办法替换dpkg

      1. 坑的是目前homebrew已经不支持versions,没法回滚到老版本的dpkg。使用新版的打包可以用xz,但是make install的时候,设备就不支持这个xz参数了。

堕花月进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注