好久没有弄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。
另外一个办法是直接使用旧版本,命令如下:
brew switch dpkg 1.18.10
brew link dpkg
brew pin dpkg 1.18.10
6 comments
你用xz的话ios,安装不了吧,改成gzip会不会好点
这个我没注意,因为我没有安装deb,直接解压出来拉的文件复制到手机上了。可以用另外的那个办法替换dpkg
坑的是目前homebrew已经不支持versions,没法回滚到老版本的dpkg。使用新版的打包可以用xz,但是make install的时候,设备就不支持这个xz参数了。
改成gzip可以正常,并且能够安装
不让修改怎么办
sudo vim /var/theos/makefiles/package/deb.mk