Contact me: hankecnc@gmail.com

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067

推推 grbl 3年前 (2023-01-30) 355次浏览
关闭
c-morley 打开了这个问题 2021 年 2 月 6 日 · 15条评论
关闭

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master)#1067

c-morley 打开了这个问题 2021 年 2 月 6 日 · 15条评论

注释

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者
c-莫利 评论了 2021 年 2 月 6 日  

我看到提交2dbb2f6 并且提交消息似乎表明它可能被错误地提交给了 master 。

在终端中使用 designer -qt=5 启动设计器时,它会因上述错误而失败。

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者
丹加勒特 评论了 2021 年 2 月 6 日  

  1. 提交是有意的,我应该改写初始行以表明它
    通过挑选单个提交来引入分支 dgarr/tooldata

  2. 我无法使用
    debian buster 上的 rip build 重现该消息:

$ uname -a
Linux t520 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux

$ lsb_release -idrc
发行商 ID:Debian
描述:Debian GNU/Linux 10 (buster)
版本:10
代号:buster

  1. 我以前从未使用过 qt,在 debian 目录的 debian 控制文件中找不到
    预期的包要求

参考:
https ://github.com/LinuxCNC/linuxcnc/tree/master/debian

$ pwd
/home/git/linuxcnc-dev/debian
$ grep -i qt control*
$
(没有对 qt 包的引用)

  1. 所以我使用在论坛
    Refs 上找到的脚本安装了 qt 东西:
    https ://forum.linuxcnc.org/qtvcp/38414-installing-qtvcp?start=0#157829
    https://forum.linuxcnc.org/media/ kunena/附件/6129/qtvcp_install_2021-01-05-2.txt

  2. 安装 qt 后,
    尝试命令设计器 -qt=5。它似乎有效并且
    示例 sim qtdefault 似乎启动了:

视频:
https ://www.youtube.com/watch?v=A4ENiMXfh1Y&feature=youtu.be

  1. 需要更多信息来指明
    显示报告消息所需的系统和条件。

建议发布命令的输出:linuxcnc_info(提供
有关系统的一些详细信息)并提供一组重现消息的步骤

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者作者

QT 屏幕似乎加载正常。
Qtdesigner 没有 – 有发布的错误消息。
我的猜测是你没有正确设置设计师。- 你看到 linuxcnc 小部件了吗?我从你的视频中看不到。

尝试过 Mint 19 和 Debian 9 – 认为这无关紧要。
我再次猜测是默认打开文件问题 – 我不确定为什么在使用设计器时会出现问题,但我确实玩了一些技巧让图形显示在没有 linuxcnc 的情况下工作。

linuxcnc_info 的输出:

VIEWER=gedit
日期:UTC 2 月 6 日星期六 11:14:28 PST
日期:UTC 2021 年 2 月 6 日星期六 19:14:28
此程序:/home/chris/emc/scripts/linuxcnc_info
正常运行时间:11:14:28 up 25最小值,1 个用户,平均负载:
0.07、0.36、0.50 lsb_release -sa: Debian Debian GNU/Linux 9.12 (stretch) 9.12 stretch
which linuxcnc: /home/chris/emc/scripts/linuxcnc
pwd: /home/chris/emc/ src
USER: chris
LOGNAME: chris
HOME: /home/chris
EDITOR:
VISUAL:
LANGUAGE:
TERM: xterm-256color
COLORTERM: truecolor
DISPLAY: :0.0
DESKTOP: lightdm-xsession
显示尺寸:1366×768 像素(361×203 毫米)
路径:/home/chris/emc/bin:/home/chris/emc/scripts:/home/chris/emc/tcl:/usr/local/bin:/usr/bin:/bin:/usr/local/games :/usr/游戏

uname 项目:
nodename -n: chris-laptop2
kernel-name -s: Linux
kernel-vers -v: #1 SMP PREEMPT RT Debian 4.9.210-1+deb9u1 (2020-06-07)
machine -m: x86_64
processor – p: 未知
平台 -i: 未知
操作系统 -o: GNU/Linux

/proc 项目:
cmdline:BOOT_IMAGE=/boot/vmlinuz-4.9.0-12-rt-amd64 root=UUID=174cdff9-c154-4518-804c-588cadc97716 ro 安静
型号名称:Intel(R) Core(TM) i5- 2520M CPU @ 2.50GHz
内核:2
cpu MHz:2499.847
parport:
串行:

版本:
gcc:gcc(Debian 6.3.0-18+deb9u1)6.3.0 20170516
python:Python 2.7.13
git:git 版本 2.11.0
git commit:f70ef77
tcl:8.6
tk:8.6
glade:not_in_PATH
glade-gtk2:glade3 3.8.0

linuxcnc_var 所有:

 LINUXCNCVERSION: 2.9.0~pre0

LINUXCNC_AUX_GLADEVCP:/usr/share/linuxcnc/aux_gladevcp
LINUXCNC_AUX_EXAMPLES:/usr/share/linuxcnc/aux_examples 实时
:/home/chris/emc/scripts/realtime
RTS:uspace
HALLIB_DIR:/home/chris/emc/lib/hallib
PYTHON:/ usr/bin/python2

dpkg -l ‘ linuxcnc ‘:
Desired=未知/安装/删除/清除/保留
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required(Status,Err: uppercase=bad)
|| /名称版本体系结构描述
+++-===================-===================== =======-============-============================= ========================================
un linuxcnc(无可用描述)
un linuxcnc- dev(无可用描述)
un linuxcnc-doc(无可用描述)
ii linuxcnc-doc-en 1:2.9.0pre0.2311.gbb5d6a60a 所有用于 CNC 机器和机器人的运动控制器(英文文档)
un linuxcnc-sim(无可用描述)
un linuxcnc-sim-dev(无可用描述)
ii linuxcnc-uspace 1:2.9.0
用于 CNC 机器和机器人的 pre0.2311.gbb5d6a60a amd64 运动控制器
ii linuxcnc-uspace-dev 1:2.9.0~pre0.2311.gbb5d6a60a amd64 用于实时 Linux 的基于 PC 的运动控制器

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者
丹加勒特 评论了 2021 年 2 月 7 日  

我的猜测是你没有正确设置设计师。

  • 你看到 linuxcnc 小部件了吗?我从你的视频中看不到。

如前所述,我从未使用过 qt,也不知道 linuxcnc 小部件是什么样的。
问题:

  1. “正确”设置设计器的说明在哪里?
  2. qtvcp 支持哪些操作系统?
    (git debian 目录control.* 里没有列出qt 包
    master 分支的文件所以很难说支持什么操作系统)
  3. 使用上述论坛中的脚本后,我为 buster 安装了以下软件包:
    https ://forum.linuxcnc.org/media/kunena/attachments/6129/qtvcp_install_2021-01-05-2.txt

$ dpgk -l ‘*qt*’ |grep ii
ii libqscintilla2-qt5-13 2.10.4+dfsg-2.1 amd64 Scintilla 源代码编辑小部件的 Qt5 端口
ii libqscintilla2-qt5-l10n 2.10.4+dfsg-2.1 all Scintilla Qt5 的源代码编辑小部件,翻译文件
ii libqt4-dbus:amd64 4:4.8.7+dfsg-18 amd64 Qt 4 D-Bus 模块
ii libqt4-network:amd64 4:4.8.7+dfsg-18 amd64 Qt 4 网络模块
ii libqt4-opengl:amd64 4:4.8.7+dfsg-18 amd64 Qt 4 OpenGL 模块
ii libqt4-script:amd64 4:4.8.7+dfsg-18 amd64 Qt 4 脚本模块
ii libqt4-xml:amd64 4:4.8 .7+dfsg-18 amd64 Qt 4 XML 模块
ii libqt4-xmlpatterns:amd64 4:4.8.7+dfsg-18 amd64 Qt 4 XML 模式模块
ii libqt5concurrent5:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 并发模块
ii libqt5core5a:amd64 5.11.3+dfsg1-1 +deb10u4 amd64 Qt 5 核心模块
ii libqt5dbus5:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 D-Bus 模块
ii libqt5designer5:amd64 5.11.3-4 amd64 Qt 5 设计器模块
ii libqt5designercomponents5:amd64 5.11.3-4 amd64 Qt 5 Designer 组件模块
ii libqt5gamepad5:amd64 5.11.3-2 amd64 Qt 5 游戏手柄模块
ii libqt5gui5:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 GUI 模块
ii libqt5help5:amd64 5.11.3-4 amd64 Qt 5 帮助模块
ii libqt5multimedia5:amd64 5.11.3-2 amd64 Qt 5 多媒体模块
ii libqt5network5:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 网络模块
ii libqt5opengl5:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 OpenGL 模块
ii libqt5opengl5-dev:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 OpenGL 库开发文件
ii libqt5positioning5:amd64 5.11.3+dfsg-2 amd64 Qt 定位模块
ii libqt5printsupport5:amd64 5.11.3+dfsg1-1+deb10u4 amd64 Qt 5 打印支持模块
ii libqt5qml5:amd64 5.11.3-4 amd64 Qt 5 QML 模块

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者
丹加勒特 评论了 2021 年 2 月 7 日  

我已经创建了一个可以解决消息的测试分支(我不能在 buster 上复制)
测试分支 dgarr/tst 在当前主分支之上添加了一个提交

请构建并测试分支 dgarr/tst(在提交d6e9186 时

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者作者

qtvcp/designer 文档:http:
//linuxcnc.org/docs/devel/html/gui/qtvcp.html#_get_designer_to_include_linuxcnc_widgets

源代码中的自述文件:
https ://github.com/LinuxCNC/linuxcnc/blob/master/lib/python/qtvcp/designer/README.txt

Qtvcp 支持任何带有 qt5 和 linuxcnc(py2 和 py3)的系统
在 mint 18-20、Debian 9 上测试过,我确定我尝试过 Debian 10。Python
3 的测试最少,当不兼容的代码滑入时,Python 3 有时会被破坏。

我对 debian 控制文件几乎一无所知——有人打算添加要求但显然没有。

启动后在 Designer 中,在对话框中选择“创建”,现在您可以与 UI 进行交互。
右侧显示可用的小部件。
如果向下滚动,您应该看到自定义小部件的三个标题:Linuxcnc-HAL、linuxcnc-controller、linuxcnc-dialogs。
如果您没有看到小部件 – 某些设置有误。通常可以在终端中找到一些提示。

您的测试分支 tst 确实允许设计师在终端中加载此输出:(
前两行对于设计师来说是正常的)

(’Qtvcp python 插件找到:’,’/home/chris/.designer/plugins/python/qtvcp_plugin.pyc’)
[QtDesigner][INFO] 记录到“/home/chris/qtdesigner.log”(logger.py: 100)
tool_mmap_user(): file open fail: No such file or directory
tool_mmap_user no mmap file</tmp/.tool.mmap>
mmap 工具数据不可用,继续 emc/usr_intf/axis/extensions/emcmodule.cc

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者

您的测试分支 tst 确实允许设计人员在终端中加载此输出:

什么操作系统?

如果测试分支中的提交允许设计者加载
还有什么需要解决的?

我对学习如何使用 qt 或其设计器没有任何兴趣。

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者作者

我在 mint 19 上测试过

我认为这就是您需要做的所有事情 – 如果出现其他问题,我会开票。

好吧,再工作大约 5 秒钟,您就可以告诉我小部件是否出现了——这肯定是您看不到问题的原因。您询问了如何导致错误,所以我添加了它,以便我们可以获得所需的信息。
不管你喜不喜欢,qtvcp 是 linuxcnc 的一部分。

顺便说一句,这段代码是做什么用的?我是否错过了讨论或描述电子邮件?
您的提交消息听起来像是不小心提交的(强制推送部分)

感谢您的快速修复 – 现在我可以修复我报告的错误 :)

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者
丹加勒特 评论了 2021 年 2 月 7 日  

抱歉,我没有看到任何看起来像使用 designer -qt=5 和 debian buster 的 linuxcnc 小部件的东西。

如果 debian 控制文件没有指定使用 LinuxCNC 设施和配置所需的包,用户不太可能安装 LinuxCNC deb 包并期望它们在没有额外包安装的情况下工作,因为相关包没有指定(或推荐)通过通常的 debian 方法。

我将很快用测试分支的提交更新主分支。

顺便说一句,这段代码是做什么用的?

2dbb2f6的主要提交消息有一些详细描述

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者作者

我已经两次告诉开发人员(他们问我并说他们会处理)他们比我更了解如何添加 qtvcp 所需的包 – Andy 就是其中之一。
更有可能的是,他只添加了屏幕显示所需的内容,而不是允许编辑它们。
您是否可以推荐一些文档来帮助我弄清楚如何解决此问题?

您的新代码仍然允许遗留工具处理,但您是否预计我需要为您完成的这个新代码重新制作任何工具偏移操作代码?gladevcp 和 qtvcp 中的 tooloffset 代码直接更改工具文件,然后让 linuxcnc 重新加载该文件。您在提交中的描述并没有让我清楚这现在是如何工作的。

在提交之前在邮件列表中进行讨论可能会很好,这样我就可以知道是否需要在需要时让我的代码保持一致。

tool_mmap_user(): file open fail: No such file or directory (when using QtDesigner in master) #1067
合作者作者

实际上,在我认为问题是否更多之后,Qtvcp 使用了没有发行版提供的非标准 python2 库(用于设计器插件)。
我们在 linuxcnc 中提供预编译版本。
这可能是它在 debian 控制文件中找不到的原因。

当 linuxcnc 完全支持 python3 时,我们可以正确修复此问题。

我现在关闭这个问题。再次致谢。