开源改变世界

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941

推推 grbl 3年前 (2023-01-31) 252次浏览
关闭
2个任务
ihabmmali 打开了这个问题 2022 年 8 月 19 日 · 33条评论
关闭
2个任务

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包#1941

ihabmmali 打开了这个问题 2022 年 8 月 19 日 · 33条评论

注释

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
伊哈布马里 评论了 2022 年 8 月 19 日  

以下是我重现该问题所遵循的步骤:

  1. cd [Linuxcnc源码目录]
  2. git pull origin master
  3. 光盘 debian
  4. ./configure no-docs uspace
  5. 光盘..
  6. dpkg-构建包-b -uc

这是我期望发生的事情:

成功编译生成 deb 包

这是发生了什么:

关于丢失文件的几个警告
dh_install: warning: Cannot find (any matches for) “usr/share/man/man1/halstreamer.1” (tried in ., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/halstreamer.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/hy_gt_vfd.1”(在 ., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/hy_gt_vfd.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/linuxcnc.1”(在 ., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/linuxcnc.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/pi500_vfd.1”(在 ., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/pi500_vfd.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/sendkeys.1”(在 ., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/sendkeys.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/svd-ps_vfd.1”(在., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/svd-ps_vfd.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/thermistor.1”(在., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/thermistor.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/wj200_vfd.1”(在 ., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/wj200_vfd.1
dh_install:警告:找不到(任何匹配项)“usr/share/man/man1/xhc-whb04b-6.1”(在., debian/tmp)

dh_install:警告:linuxcnc-uspace 缺少文件:usr/share/man/man1/xhc-whb04b-6.1

其次是:

dh_install: 错误:丢失文件,中止
make: *** [debian/rules:38: binary] 错误 255

在此之前它工作正常:

最近的代码拉取于 2022 年 8 月 19 日

经过一些试验和错误后,提交36b83c6似乎是问题的原因。将我的本地存储库重置为之前的提交似乎可以解决问题。

有关我的硬件和软件的信息:

  • 我正在使用这个 Linux 发行版和版本(通常显示为lsb_release -a):Debian 11

  • 我正在使用这个内核版本(显示为uname -a):5.18.0-2-rt-amd64

  • 我在跑步 …

    • 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
    • [X] 我自己构建的二进制文件
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本(显示在包管理器中,或者对于 git 版本,scripts/get-version-from-git):v2.9.0-pre0-7465-gc8dd11e89e

  • 我正在使用此用户界面 (GUI)(例如 AXIS、Touchy、gmoccapy 等):qtdragon

  • 我正在使用此接口硬件供应商和芯片组(例如,并行端口、以太网端口、FPGA 卡):Mesa 卡

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
合作者
彼得赖因霍尔特森 评论了 2022 年 8 月 21 日 通过电子邮件
无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941

我相信是提交46855061ab6d72引入了此构建失败(但仅在比我们的 CI 测试的发行版更新的发行版上,即在哪里dh_missing可以使构建失败而不仅仅是警告)。

但是,是的,#1942应该修复它。

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
贡献者
无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
合作者
彼得赖因霍尔特森 评论了 2022 年 8 月 23 日 通过电子邮件
无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
贡献者
安汉 评论了 2022 年 8 月 23 日  

[NhanPham]

  • 再次修复 deb build  #1942但错误仍然存​​在
    Fix deb build again  #1942现在在 master 中。如果在没有任何命令行选项的情况下使用 devscripts 包中的 debuild,是否会出现相同的构建错误?这个工具做更多的检查,可能会更好地指示错误。我的 master work 测试版本,不确定你的设置有什么特别之处。
    ……
    ——快乐黑客 Petter Reinholdtsen

我建立了主品牌。只需输入:

git pull
cd debian
./configure no-docs uspace
cd ..
dpkg-buildpackage -b -uc

并得到相同的上述错误

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
合作者
彼得赖因霍尔特森 评论了 2022 年 8 月 23 日 通过电子邮件
无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
作者
伊哈布马里 评论了 2022 年 8 月 24 日  

当前拉取的最新构建系统还引入了这些依赖项:asciidoc source-highlight asciidoc-dblatex

这些似乎与文档构建相关,但系统现在似乎忽略了“no-docs”选项@SebKuzminsky

@petterreinholdtsen如果明显没有选择文档,则 debuild 的结果相同,但除了问题中指示的关于丢失 man 文件的相同警告外,没有提供其他信息

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
合作者
彼得赖因霍尔特森 评论了 2022 年 8 月 24 日 通过电子邮件
无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
贡献者

[NhanPham]
我现在建立了主品牌。只需输入:git pull cd debian ./configure no-docs uspace cd .. dpkg-buildpackage -b -uc
我测试了一些变体,您可以从上面的列表中删除“uspace”。’no-docs’ 选项会破坏构建。不知道为什么,但这可能是最近构建系统调整中的一个错误。如果你想在它被修复之前构建,我推荐’debian/configure && debuild’来获取可安装的.deb文件。
……
——快乐黑客 Petter Reinholdtsen

我输入debian/configure && debuild但仍然收到错误:

dh_install: Cannot find (any matches for) "usr/lib/python3" (tried in ., debian/tmp)

dh_install: linuxcnc-uspace missing files: usr/lib/python3
	install -d debian/.debhelper/generated/linuxcnc-uspace-dev
	install -d debian/linuxcnc-uspace/
	cp --reflink=auto -a debian/tmp/etc debian/linuxcnc-uspace//
	install -d debian/linuxcnc-uspace//usr/bin
	cp --reflink=auto -a debian/tmp/usr/bin/5axisgui debian/tmp/usr/bin/axis debian/tmp/usr/bin/axis-remote debian/tmp/usr/bin/classicladder debian/tmp/usr/bin/debuglevel debian/tmp/usr/bin/elbpcom debian/tmp/usr/bin/genserkins debian/tmp/usr/bin/gladevcp debian/tmp/usr/bin/gladevcp_demo debian/tmp/usr/bin/gmoccapy debian/tmp/usr/bin/gremlin_view debian/tmp/usr/bin/gs2_vfd debian/tmp/usr/bin/gscreen debian/tmp/usr/bin/hal-histogram debian/tmp/usr/bin/hal_input debian/tmp/usr/bin/hal_manualtoolchange debian/tmp/usr/bin/halcmd debian/tmp/usr/bin/halcmd_twopass debian/tmp/usr/bin/halmeter debian/tmp/usr/bin/halreport debian/tmp/usr/bin/halrmt debian/tmp/usr/bin/halrun debian/tmp/usr/bin/halsampler debian/tmp/usr/bin/halscope debian/tmp/usr/bin/halshow debian/tmp/usr/bin/halstreamer debian/tmp/usr/bin/haltcl debian/tmp/usr/bin/halui debian/tmp/usr/bin/hbmgui debian/tmp/usr/bin/hexagui debian/tmp/usr/bin/hy_gt_vfd debian/tmp/usr/bin/hy_vfd debian/tmp/usr/bin/image-to-gcode debian/tmp/usr/bin/inivar debian/tmp/usr/bin/io debian/tmp/usr/bin/iov2 debian/tmp/usr/bin/latency-histogram debian/tmp/usr/bin/latency-plot debian/tmp/usr/bin/latency-test debian/tmp/usr/bin/lineardelta debian/tmp/usr/bin/linuxcnc debian/tmp/usr/bin/linuxcnc_info debian/tmp/usr/bin/linuxcnc_module_helper debian/tmp/usr/bin/linuxcnc_var debian/tmp/usr/bin/linuxcnclcd debian/tmp/usr/bin/linuxcncmkdesktop debian/tmp/usr/bin/linuxcncrsh debian/tmp/usr/bin/linuxcncsvr debian/tmp/usr/bin/linuxcnctop debian/tmp/usr/bin/maho600gui debian/tmp/usr/bin/max5gui debian/tmp/usr/bin/mb2hal debian/tmp/usr/bin/mdi debian/tmp/usr/bin/melfagui debian/tmp/usr/bin/milltask debian/tmp/usr/bin/millturngui debian/tmp/usr/bin/mitsub_vfd debian/tmp/usr/bin/monitor-xhc-hb04 debian/tmp/usr/bin/motion-logger debian/tmp/usr/bin/moveoff_gui debian/tmp/usr/bin/ngcgui debian/tmp/usr/bin/panelui debian/tmp/usr/bin/pi500_vfd debian/tmp/usr/bin/pmx485 debian/tmp/usr/bin/pmx485-test debian/tmp/usr/bin/pncconf debian/tmp/usr/bin/puma560gui debian/tmp/usr/bin/pumagui debian/tmp/usr/bin/pyngcgui debian/tmp/usr/bin/pyui debian/tmp/usr/bin/pyvcp debian/tmp/usr/bin/pyvcp_demo debian/tmp/usr/bin/qtplasmac-cfg2prefs debian/tmp/usr/bin/qtplasmac-materials debian/tmp/usr/bin/qtplasmac-plasmac2qt debian/tmp/usr/bin/qtplasmac_gcode debian/tmp/usr/bin/qtvcp debian/tmp/usr/bin/rotarydelta debian/tmp/usr/bin/rs274 debian/tmp/usr/bin/rtapi_app debian/tmp/usr/bin/scaragui debian/tmp/usr/bin/schedrmt debian/tmp/usr/bin/scorbot-er-3 debian/tmp/usr/bin/sendkeys debian/tmp/usr/bin/shuttle debian/tmp/usr/bin/sim-torch debian/tmp/usr/bin/sim_pin debian/tmp/usr/bin/simulate_probe debian/tmp/usr/bin/stepconf debian/tmp/usr/bin/svd-ps_vfd debian/tmp/usr/bin/teach-in debian/tmp/usr/bin/thermistor debian/tmp/usr/bin/tool_mmap_read debian/tmp/usr/bin/tool_watch debian/tmp/usr/bin/tooledit debian/tmp/usr/bin/touchy debian/tmp/usr/bin/update_ini debian/tmp/usr/bin/vfdb_vfd debian/tmp/usr/bin/vfs11_vfd debian/tmp/usr/bin/wj200_vfd debian/tmp/usr/bin/xhc-hb04 debian/tmp/usr/bin/xhc-hb04-accels debian/tmp/usr/bin/xhc-whb04b-6 debian/tmp/usr/bin/xyzac-trt-gui debian/tmp/usr/bin/xyzbc-trt-gui debian/linuxcnc-uspace//usr/bin/
	install -d debian/linuxcnc-uspace//usr/lib
	cp --reflink=auto -a debian/tmp/usr/lib/libcanterp.so.0 debian/tmp/usr/lib/liblinuxcnchal.so.0 debian/tmp/usr/lib/liblinuxcncini.so.0 debian/tmp/usr/lib/libnml.so.0 debian/tmp/usr/lib/libposemath.so.0 debian/tmp/usr/lib/libpyplugin.so.0 debian/tmp/usr/lib/librs274.so.0 debian/tmp/usr/lib/libtooldata.so.0 debian/tmp/usr/lib/linuxcnc debian/linuxcnc-uspace//usr/lib/
dh_install: missing files, aborting
	install -d debian/.debhelper/generated/linuxcnc-uspace
	install -d debian/.debhelper/generated/linuxcnc-doc-en
	install -d debian/.debhelper/generated/linuxcnc-doc-fr
	install -d debian/.debhelper/generated/linuxcnc-doc-es
	install -d debian/.debhelper/generated/linuxcnc-doc-zh-cn
make: *** [debian/rules:38: binary] Error 25
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed


无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
作者
伊哈布马里 评论了 2022 年 8 月 24 日  

它没有被忽略,但无文档构建需要一些早期仅由文档构建使用的工具。

我不明白的是为什么无文档构建以前不需要这些包,但现在需要了。我不得不安装 877MB 的额外工具和与主构建无关的语言文件,只是为了让构建工作

debuild 会检测到缺少的构建依赖项,这是我对使用该工具的测试构建比使用 dpkg-buildpackage 的测试构建更感兴趣的原因之一。

我没有看到 debuild 和 dpkg-buildpackage 之间的行为有任何区别,但我对 debian 打包系统知之甚少。对我来说,debuild 和 dpkg-build 都报告缺少依赖项,并且在满足依赖项之前不会让构建继续进行

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
合作者
彼得赖因霍尔特森 评论了 2022 年 8 月 25 日 通过电子邮件
无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941

[Eyecon]
我不明白的是为什么 no-docs 构建以前不需要这些包,但现在需要了。我必须安装 877MB 的与主构建无关的附加工具和语言文件,才能使构建正常工作
这发生在ca8510d中它包含以下解释:联机帮助页位于 linuxcnc-uspace.deb(不在 linuxcnc-doc-en)中,因此它们是使用依赖于体系结构的(“二进制”)deb 构建的。由于一些联机帮助页是用 asciidoc 而不是 roff 编写的,因此在 Build-Depends 中需要这些构建依赖项(这对体系结构相关和体系结构无关的构建都满足),而不仅仅是在 Build-Depends-Indep 中。no-docs 选项禁用构建将获得单独的 linuxcnc-doc 包的 HTML 和 PDF 版本,但仍然创建手册页。
……
——快乐黑客 Petter Reinholdtsen

谢谢 Petter,这是有道理的。那么知道我们可以做些什么来生成导致 dh_install 失败的缺失手册页吗?

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941

你好 [petterreinholdtsen],[annhan],
因为我有同样的问题无法构建 *.deb 的 …. 这件事有什么进展吗?或者知道什么时候可以预期?
解决该问题的解决方案是什么?

无法编译 v2.9.0-pre0-7465-gc8dd11e89e deb 包 #1941
合作者
彼得赖因霍尔特森 评论了 2022 年 8 月 28 日 通过电子邮件