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

分享文章:

猜你喜欢:

6 comments

  1. Google Chrome Google Chrome Windows Windows China上海市 电信 ip address 101.81.*.*

    你用xz的话ios,安装不了吧,改成gzip会不会好点

    1. Firefox Firefox Mac Mac China山东省青岛市 联通 ip address 221.0.*.*

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

      1. Safari Safari Mac Mac China辽宁省大连市 联通 ip address 124.93.*.*

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

发表回复

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