开源改变世界

LinuxCNC 出现 Clang 15 错误 #2212

推推 grbl 3年前 (2023-01-31) 220次浏览
关闭
3 个任务中的第 1 个
NTULINUX 开启了这个issue 2022 年 12 月 18 日 · 9条评论
关闭
3 个任务中的第 1 个

LinuxCNC 出现 Clang 15 错误#2212

NTULINUX 开启了这个issue 2022 年 12 月 18 日 · 9条评论

注释

LinuxCNC 出现 Clang 15 错误 #2212
贡献者
NTULINUX 评论了 2022 年 12 月 18 日  

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

  1. 使用 Clang 构建 LinuxCNC
  2. 制作
  3. 等待

这是我期望发生的事情:

成功构建(几个月前工作,也许 Clang 15 改变了什么?)

这是发生了什么:

错误:未知警告选项-Wno-stringop-truncation;你的意思是-Wno-string-concatenation?[-错误,-未知警告选项]

在此之前它工作正常:

大约 4 个月前的 LinuxCNC 和 Clang 14

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

  • 我正在使用这个 Linux 发行版和版本(通常显示为lsb_release -a):Custom Gentoo
  • 我正在使用这个内核版本(显示为uname -a):6.1
  • 我在跑步 …
    • 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
    • 我自己构建的二进制文件
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本(显示在包管理器中,或者对于 git 版本,scripts/get-version-from-git):6fc2d5b
  • 我正在使用此用户界面 (GUI)(例如 AXIS、Touchy、gmoccapy 等):N/A
  • 我正在使用此接口硬件供应商和芯片组(例如,并行端口、以太网端口、FPGA 卡):N/A
LinuxCNC 出现 Clang 15 错误 #2212
贡献者作者
NTULINUX 评论了 2022 年 12 月 18 日  

老鼠……又冒出来一个:

Compiling realtime objects/hal/components/reset.c
hal/components/reset.comp:76:5: error: void function '_' should not return a value [-Wreturn-type]
    return 0;
    ^      ~
1 error generated.                                                                                                                                
make: *** [Makefile:1236: objects/rtobjects/hal/components/reset.o] Error 1

哦耶!48bc9de是罪魁祸首!我担心这是之前的一些幻影错误,由于某种原因没有引起注意,但它只是 MachineKit 的一些最新代码,尚未使用 Clang 进行测试。

嘿,我想我是这里唯一的 Clang 用户,哈哈。

您需要做的就是删除 0 hah。

LinuxCNC 出现 Clang 15 错误 #2212
贡献者作者

我不知道 -Wno-unknown-warning-option 是否是正确的解决方法,请随时修改或提出建议!

LinuxCNC 出现 Clang 15 错误 #2212

我相信,重置的正确解决方法是删除 return 语句。

LinuxCNC 出现 Clang 15 错误 #2212
合作者
彼得赖因霍尔特森 评论了 2022 年 12 月 18 日 通过电子邮件
LinuxCNC 出现 Clang 15 错误 #2212
贡献者作者

[NTU]
不知道这里的 -Wno-unknown-warning-option 是否正确,欢迎修改或提出建议!
我怀疑更好的解决方法是将仅 GCC 选项移动到 src/configure.ac 并仅激活为 gcc 激活它。

不幸的是,我无法测试 GCC 构建,因为我的整个系统都是针对 Clang 构建的。当您使用不同的编译器构建链接到其他库(尤其是 Boost)的代码时,通常会出现很多编译错误和未定义的引用。

LinuxCNC 出现 Clang 15 错误 #2212
合作者
彼得赖因霍尔特森 评论了 2022 年 12 月 18 日 通过电子邮件
LinuxCNC 出现 Clang 15 错误 #2212

此问题已在5a5786b中修复。