← All tasks
cpptransmission/transmission #8717Not a task: not reproduced

Breaking change in clang-tidy 22 prevents building

envgap__transmission__transmission-8717

01 / FAILURE SIGNATURE

As reported upstream

Error: no checks enabled.
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
7af380dd5a6033889ac7bfa3eb688ed97b370e9d
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

transmission/transmission #8717 · read the original issue
I was trying to build transmission from current master, but it failed like this (I've omitted much noise from the error message).

```sh
% ninja                                                                                                                                        
[0/2] Re-checking globbed directories...
[1/171] Building CXX object third-party/googletest.bld/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
FAILED: [code=1] [...]
USAGE: clang-tidy [options] <source0> [... <sourceN>]

OPTIONS:
[...]
Error: no checks enabled.
```
Nothing relevant in transmission's build system has changed since the last time I could build from master, but I have upgraded from clang 21 to clang 22 in the meantime. There was a [breaking change](https://releases.llvm.org/22.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html#potentially-breaking-changes) in clang-tidy 22:

> Removed clang-analyzer-* checks from default checks in clang-tidy. From now on, users should specify explicitly that they want CSA checks to run in clang-tidy via clang-analyzer-*.

On clang-tidy 21:
```sh
% clang-tidy --dump-config
---
Checks:          'clang-diagnostic-*,clang-analyzer-*'
```

On clang-tidy 22:
```sh
% clang-tidy --dump-config
---
Checks:          'clang-diagnostic-*'
```

It seems to be a known issue (https://github.com/llvm/llvm-project/issues/86355) that a valid clang-tidy configuration (the default!) will cause the tool to error out.

Of course, even if clang-tidy did not error out, that would not be desirable behaviour -- as of version 22, it wouldn't actually *do anything*. To fix this, a `.clang-tidy` enabling checks should be added; the following is sufficient and restores clang-tidy 21 behaviour:
```
Checks:          'clang-diagnostic-*,clang-analyzer-*'
```
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]