【问题标题】:Is anybody else having problems with Coverity Scan Build tool version 8.7.0?是否有人对 Coverity Scan Build 工具版本 8.7.0 有问题?
【发布时间】:2016-12-29 20:26:23
【问题描述】:

我已经使用 Coverity Scan 大约一年了,目前使用的是 Windows 7 Pro SP1 x64。自从我第一次开始使用它以来,我可以毫不费力地输入 cov-build 我的项目的 make 命令,并且它每次都会发出 100% 的编译单元。 Coverity Build 工具的 8.7.0 版发生了一些变化:处理我的源代码需要类似的时间,但它总是会导致错误并显示没有发出编译单元。

在我使用cov-build这个版本的时候,中间目录写了很多文件,日志中有很多如下的实例:

错误:未知目标三元组 '--windows-gnu',请使用 -triple 或 -arch 警告:cov-internal-emit-clang 返回代码 4

我的源代码没有显着改变,我也没有改变我的任何构建工具。如果我降级到以前版本的构建工具(8.5.0.5),它可以正常工作并按预期发出所有编译单元。我已经向 Coverity 支持发送了几次电子邮件,但没有收到回复。最新版本的构建工具是否适用于其他人?

【问题讨论】:

  • 您能否从构建日志中粘贴示例编译行和相关的cov-internal-emit-clang 命令行?第一个应以[COMPILING] 开头,后者紧随其后并且用于同一源文件(并行性可能会导致输出交错)。
  • 这是一个源文件pastebin.com/R8q3vArs的日志记录示例
  • 谢谢。这似乎是一个错误配置问题 - 请参阅我发布的答案。关于错误配置的来源有一些悬而未决的问题,但您应该能够通过该答案让自己畅通无阻。

标签: coverity


【解决方案1】:

原来的 8.7.0 版本存在一个错误,导致捕获工具无法正确识别编译器。 Coverity 支持建议我重新下载 8.7.0 版本,它现在可以正常工作了。

【讨论】:

    【解决方案2】:

    查看您粘贴的构建日志 sn-p,您似乎已将 Windows 上的 gcc 配置为 comptype clangcc。在 MacOSX 上 gcc 确实是伪装的 Apple 的 Clang 编译器,但我不知道在 Windows 上也是如此。这导致 Clang 的编译器探测失败 - 这个明显不正确的编译器版本切换最直接表明:

    --comp_ver "gcc.exe (GCC) 4.8.1 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "

    我相信您的解决方案是删除您的 gcc-as-clang 配置并重新运行 cov-configure。这很可能就足够了:

    cov-configure --gcc

    但是,如果有一些产品错误不起作用(请联系支持人员),那么这是更明确的版本:

    cov-configure --compiler gcc --comptype gcc --template

    您是自己运行 cov-configure,还是这些配置随 SCAN 一起提供?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2021-10-19
      • 1970-01-01
      相关资源
      最近更新 更多