Theos make install 出现了问题


#1
➜  tweak make install
==> Installing…
root@127.0.0.1's password:
(Reading database ... 2557 files and directories currently installed.)
Preparing to unpack /tmp/_theos_install.deb ...
Unpacking test (0.0.1-1+debug) ...
dpkg-deb (subprocess): unable to execute decompressing archive member (xz): No such file or directory
dpkg-deb (subprocess): subprocess decompressing archive member returned error exit status 2
dpkg-deb: error: subprocess <decompress> returned error exit status 2
dpkg: error processing archive /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

毫无头绪。


打包执行make package,报dpkg-deb: 错误:废弃的压缩类型 lzma;请用 xz 代替
#2

可以参考一下 Add lzma support to dm.pl and use it on macOS/Linux #211,如果符合你的问题,可以参考 Fr0stDev 的回答给 dpkg 降级


#3

谢谢,早上我已经通过降级解决了。

具体实现方式:

brew remove dpkg  
HOMEBREW_NO_AUTO_UPDATE=1 brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/7a4dabfc1a2acd9f01a1670fde4f0094c4fb6ffa/Formula/dpkg.rb
brew pin dpkg  

#4

你好,,我也出现了和你一样的问题,可是我按照你那样的命令,还是无法解决····


#5

最后是显示/usr/local/Cellar/dpkg/1.18.10: 261 files, 5.3MB吗?
我按照你的命令…但是报同样的错误…


#6

你解决了吗?我估计降级还是不好使,或者有没有降级成功啊?


#7

你的好使了么,我也遇到同样的问题了,我这边也是降级 dpkg ,而且应该是成功了,但是 make install 还是不行


#8

问题报错一模一样
dpkg-deb (subprocess): unable to execute decompressing archive member (xz): No such file or directory
dpkg-deb (subprocess): subprocess decompressing archive member returned error exit status 2
dpkg-deb: error: subprocess returned error exit status 2
dpkg: error processing archive /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


#9

我觉得原因找到了…你说你降级dpkg 可以解决…我可能是没有找到降级的方法…然后之前看了帖子 关于编译打包的一个警告

我就改过来了!!


然后悲剧了!!报错!!

然后这几天一直没有进展…又有开发任务…通宵两次…也没解决…最后!! 今晚饿得不行!!我想弄不出来就不吃东西!!! 结果食物的力量!让我想起! 这个错 是不是我修改过 xz造成的!! 也许降级成功了.xz就找不到了… 最后将xz原封不动 改为lzma 再make install !! 手机重启!搞定!!!
香菇~~~ 不说了! 今晚宵夜!!


#10

通知你一下…解决了…看你报错是否有

dpkg-deb (subprocess): unable to execute decompressing archive member (xz): No such file or directory

如果是的.那么很可能是版本降级了 但是没有修改 xz 这个东西…之前的版本是lzma 就版本找不到…我也不知道是不是对的…总之我改为 lzma 之后就好了
希望你尽快解决!


#11

改成gzip


#12

改成gzip也不行啊. 我的也出现同样的问题. 上面的几种方式都试过了. 还是不行.出现这样的情况,你们都是按上面的方式解决的吗


#13

怎么不行法,一次性说清楚明白啊


#14

现在总是报链接超时, 版本也降级了.但始终还是不能install


#15

这是本地deb打包的, 连接超时关这个啥事


#16

解决了,原来是ip地址有问题.重新换了台电脑进行了配置,也没有对版本进行降级, 把lzma修改成了gzip就搞定了. 谢谢哈~~


#17

你好 请问你能帮我看看吗 这是我的ded.mk文件

ifeq ($(_THEOS_PACKAGE_FORMAT_LOADED),)
_THEOS_PACKAGE_FORMAT_LOADED := 1

_THEOS_DEB_PACKAGE_CONTROL_PATH := $(or $(wildcard $(THEOS_PROJECT_DIR)/control),$(wildcard $(THEOS_PROJECT_DIR)/layout/DEBIAN/control))
_THEOS_DEB_CAN_PACKAGE := $(if $(_THEOS_DEB_PACKAGE_CONTROL_PATH),$(_THEOS_TRUE),$(_THEOS_FALSE))

_THEOS_DEB_HAS_DPKG_DEB := $(call __executable,dpkg-deb)
ifneq ($(_THEOS_DEB_HAS_DPKG_DEB),$(_THEOS_TRUE))
internal-package-check::
@echo “$(MAKE) package requires dpkg-deb.”; exit 1
endif

ifeq ($(_THEOS_DEB_CAN_PACKAGE),$(_THEOS_TRUE)) # Control file found (or layout/ found.)
THEOS_PACKAGE_NAME := $(shell grep -i “^Package:” “$(_THEOS_DEB_PACKAGE_CONTROL_PATH)” | cut -d’ ’ -f2-)
THEOS_PACKAGE_ARCH := $(shell grep -i “^Architecture:” “$(_THEOS_DEB_PACKAGE_CONTROL_PATH)” | cut -d’ ’ -f2-)
THEOS_PACKAGE_BASE_VERSION := $(shell grep -i “^Version:” “$(_THEOS_DEB_PACKAGE_CONTROL_PATH)” | cut -d’ ’ -f2-)

$(_THEOS_ESCAPED_STAGING_DIR)/DEBIAN:
$(ECHO_NOTHING)mkdir -p “$(THEOS_STAGING_DIR)/DEBIAN”$(ECHO_END)
ifeq ($(_THEOS_HAS_STAGING_LAYOUT),1) # If we have a layout/ directory, copy layout/DEBIAN to the staging directory.
$(ECHO_NOTHING)[ -d “$(THEOS_PROJECT_DIR)/layout/DEBIAN” ] && rsync -a “$(THEOS_PROJECT_DIR)/layout/DEBIAN/” “$(THEOS_STAGING_DIR)/DEBIAN” $(_THEOS_RSYNC_EXCLUDE_COMMANDLINE) || true$(ECHO_END)
endif # _THEOS_HAS_STAGING_LAYOUT

$(_THEOS_ESCAPED_STAGING_DIR)/DEBIAN/control: $(_THEOS_ESCAPED_STAGING_DIR)/DEBIAN
$(ECHO_NOTHING)sed -e ‘/^[Vv]ersion:/d’ “$(_THEOS_DEB_PACKAGE_CONTROL_PATH)” > “$@”$(ECHO_END)
$(ECHO_NOTHING)echo “Version: $(_THEOS_INTERNAL_PACKAGE_VERSION)” >> “$@”$(ECHO_END)
$(ECHO_NOTHING)echo “Installed-Size: $(shell du $(_THEOS_PLATFORM_DU_EXCLUDE) DEBIAN -ks “$(THEOS_STAGING_DIR)” | cut -f 1)” >> “$@”$(ECHO_END)

before-package:: $(_THEOS_ESCAPED_STAGING_DIR)/DEBIAN/control

THEOS_DEB_PACKAGE_FILENAME = $(THEOS_PACKAGE_DIR)/$(THEOS_PACKAGE_NAME)$(THEOS_INTERNAL_PACKAGE_VERSION)$(THEOS_PACKAGE_ARCH).deb
internal-package::
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b “$(THEOS_STAGING_DIR)” “$(_THEOS_DEB_PACKAGE_FILENAME)” $(STDERR_NULL_REDIRECT)$(ECHO_END)

This variable is used in package.mk

after-package:: __THEOS_LAST_PACKAGE_FILENAME = $(_THEOS_DEB_PACKAGE_FILENAME)

else # _THEOS_DEB_CAN_PACKAGE == 0
internal-package::
@echo “$(MAKE) package requires you to have a layout/ directory in the project root, containing the basic package structure, or a control file in the project root describing the package.”; exit 1

endif # _THEOS_DEB_CAN_PACKAGE
endif # _THEOS_PACKAGE_FORMAT_LOADED


#18

make install 时报的错

dpkg-deb (subprocess): unable to execute decompressing archive member (xz): No such file or directory
dpkg-deb (subprocess): subprocess decompressing archive member returned error exit status 2
dpkg-deb: error: subprocess returned error exit status 2
dpkg: error processing archive /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


#19

你这theos是不是太老, 跟我的完全不一样


#20

我是Google了一遍 那个人的解决方案是覆盖一遍ded文件解决的
所以我覆盖掉了 安装的应该是新版
能否加你qq 交流一下