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
☆版权☆

* 网站名称:obaby@mars
* 网址:https://oba.by/
* 个性:https://oba.by/
* 本文标题: 《Theos dpkg-deb: error: obsolete compression type ‘lzma’; use xz instead》
* 本文链接:https://zhongxiaojie.com/2016/12/5938
* 短链接:https://oba.by/?p=5938
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

6 comments

  1.  Level 3
    Google Chrome 56 Google Chrome 56 Windows 10 Windows 10 cn上海市 电信

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

    1. 公主 Queen 
      Firefox 52 Firefox 52 Mac OS X 10.12 Mac OS X 10.12 cn山东省青岛市 联通

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

      1. Level 1
        Safari 10 Safari 10 Mac OS X 10.11 Mac OS X 10.11 cn辽宁省大连市 联通

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

发表回复

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