[BUG] build fails with IntelLLVM 2022.2.x compiler
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- cmake, cpp
- 领域
- build-system
调研方向
从编译器输出中显示的 std::isnan 和 std::isinf 检查附近的 src/json_reporter.cc 开始,然后在 Ubuntu 22.04 上使用 IntelLLVM 2022.2.1,通过提供的 CMake Ninja 命令复现。检查在 Release 和 -Werror 下编译器关于恒真常量的警告。在该配置下项目能够使用 ninja 成功构建即表示完成。
由索引模型根据 Issue 内容生成。
描述
Attempting to build google benchmark fails with the latest intel compiler in release mode
The OS is ubuntu 22.04, Intel LLVM compiler 2022.2,
To reproduce
❯ cmake -DCMAKE_BUILD_TYPE=Release .. -G Ninja -DBENCHMARK_ENABLE_TESTING=OFF
-- The CXX compiler identification is IntelLLVM 2022.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/intel/oneapi/compiler/2022.2.1/linux/bin/icpx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Failed to find LLVM FileCheck
-- Found Git: /usr/bin/git (found version "2.38.1")
-- git version: v1.7.0-25-g398a8ac2 normalized to 1.7.0.25
-- Version: 1.7.0.25
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Success
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE
-- Performing Test HAVE_CXX_FLAG_WSUGGEST_OVERRIDE - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Success
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Success
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Success
-- Enabling additional flags: -DINCLUDE_DIRECTORIES=/tmp/benchmark/include
-- Compiling and running to test HAVE_THREAD_SAFETY_ATTRIBUTES
-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- success
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Compiling and running to test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Compiling and running to test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Compiling and running to test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- success
-- Compiling and running to test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/benchmark/build
❯ ninja
[12/23] Building CXX object src/CMakeFiles/benchmark.dir/json_reporter.cc.o
FAILED: src/CMakeFiles/benchmark.dir/json_reporter.cc.o
/opt/intel/oneapi/compiler/2022.2.1/linux/bin/icpx -DBENCHMARK_STATIC_DEFINE -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DHAVE_THREAD_SAFETY_ATTRIBUTES -I/tmp/benchmark/include -I/tmp/benchmark/src -Wall -Wextra -Wshadow -Wfloat-equal -Wsuggest-override -pedantic -pedantic-errors -Wshorten-64-to-32 -fstrict-aliasing -Wno-deprecated-declarations -Wstrict-aliasing -Wthread-safety -O3 -DNDEBUG -Werror -Wno-deprecated -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -MD -MT src/CMakeFiles/benchmark.dir/json_reporter.cc.o -MF src/CMakeFiles/benchmark.dir/json_reporter.cc.o.d -o src/CMakeFiles/benchmark.dir/json_reporter.cc.o -c /tmp/benchmark/src/json_reporter.cc
/tmp/benchmark/src/json_reporter.cc:92:7: error: comparison with NaN always evaluates to false in fast floating point modes [-Werror,-Wtautological-constant-compare]
if (std::isnan(value))
^~~~~~~~~~~~~~~~~
/tmp/benchmark/src/json_reporter.cc:94:12: error: comparison with infinity always evaluates to false in fast floating point modes [-Werror,-Wtautological-constant-compare]
else if (std::isinf(value))
^~~~~~~~~~~~~~~~~
2 errors generated.
[17/23] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_register.cc.o
ninja: build stopped: subcommand failed.
- 主要语言
- C++
- 星标
- 10.5k
- 派生
- 1.8k
- 平均合并
- 1 天 17 小时
- 30 天内合并 PR
- 30
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
google/benchmark 的其他 Issue
-
[BUG] Memory manager counts allocations not part of benchmark可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
google/benchmark#2149 · 5 条评论 ·
维护者通常 1 天内回复
-
[FR] Add native Zig bindings via top-level `bindings/zig`可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 5/5 一周以上 新手友好度 42/100
google/benchmark#2266 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
google/benchmark#2235 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 20/100
google/benchmark#2195 · 3 条评论 ·
维护者通常 1 天内回复
-
[BUG] Minimum benchmark time with multiple threads可能已有人在做 @hahnjo 于 284 天前认领。 未关闭
难度 4/5 3-5 天 新手友好度 45/100
google/benchmark#2117 · 2 条评论 ·
维护者通常 1 天内回复
相似的 Issue
-
area:qmc bug
难度 2/5 1-3 小时 新手友好度 69/100
维护者通常 3 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 74/100
ASGC-Game-Jam/asgc-gamejam-2026#563 ·
维护者通常 1 天内回复
-
area/ysql kind/bug priority/medium status/awaiting-triage
难度 2/5 1-3 小时 新手友好度 78/100
yugabyte/yugabyte-db#37523 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
-
难度 2/5 1-3 小时 新手友好度 62/100
Cockatrice/Cockatrice#7896 ·
维护者通常 1 天内回复