dpkg错误:包含未理解的数据成员

时间:2014-01-09 06:44:18

标签: makefile jailbreak dpkg theos

我正在尝试使用make package install安装越狱调整但我从dpkg收到此错误:

dpkg-deb: file `/tmp/_theos_install.deb' contains ununderstood data member data.tar.xz     , giving up
dpkg: error processing /tmp/_theos_install.deb (--install):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
/tmp/_theos_install.deb
make: *** [internal-install] Error 1

据我所知,它无法理解.xz扩展名,但我不确定为什么要创建该文件。谢谢你的帮助。

3 个答案:

答案 0 :(得分:24)

我发现了如何修复它。在$THEOS/makefiles/package/deb.mk中替换此行:

 $(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)

这一行:

$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)

答案 1 :(得分:5)

创建.deb文件是因为您告诉Theos构建系统执行此操作。 Makefile的package install规则是使用xz压缩创建Debian包。现在,dpkg等于或高于1.15.6的版本支持这种压缩。

因此,为了解决您的问题,您应该将dpkg更新为更新版本,或者在没有打包支持的情况下安装Theos。可能只需要一个简单的make install就可以了。

如果无法更新dpkg并且您不希望在没有程序包管理支持的情况下安装程序,则另一种(更痛苦的)方法是更改​​压缩程序包的算法。 Here您有关于如何执行此操作的详细信息。

答案 2 :(得分:0)

在我的情况下,我正在Ubuntu 18.04上构建一个软件包,并试图在Debian 7(已隔离)上安装该软件包。我不得不将Makefile中的行更改为:

dpkg --build $(DESTDIR)

.. to:

dpkg-deb --build -Zgzip $(DESTDIR)

感谢康纳!