Skip to content

gcov 12 and 13 / lcov 2.0 version mismatch when collectin coverage with gcc 12 and 13 on ubuntu-24.04 #341

Closed as not planned
@mknaranja

Description

@mknaranja

Describe the bug

With gcc, gcov, lcov my CI pipeline fails since version mismatches happen.

To Reproduce

Steps to reproduce the behavior:

More or less (see https://github.com/SciCompMod/GMGPolar/tree/main/.github/actions):

cmake -DCMAKE_BUILD_TYPE=Debug -DGMGPOLAR_TEST_COVERAGE=ON .. 
make -j4
cmake --build . --target coverage/fast 

Expected behavior

The code above works locally with lcov-1.14 and, e.g., gcc/gcov 12

Screenshots

With gcc/gcov 12 I get:

Capturing coverage data from .
geninfo cmd: '/usr/bin/geninfo . --output-filename coverage.base --gcov-tool /usr/bin/gcov-12 --base-directory /home/runner/work/GMGPolar/GMGPolar --initial --memory 0'
Found gcov version: 12.3.0
Using intermediate gcov format
Writing temporary data to /tmp/geninfo_datQy7t
Scanning . for .gcno files ...
Found 94 graph files in .
Processing ./tests/CMakeFiles/gmgpolar_tests.dir/comparetest.cpp.gcno
geninfo: ERROR: mismatched end line for _ZN42Test_Parameters_Initialize_Parameters_Test8TestBodyEv at /home/runner/work/GMGPolar/GMGPolar/tests/comparetest.cpp:47: 47 -> 52
	(use "geninfo --ignore-errors mismatch ..." to bypass this error)
gmake[1]: *** [CMakeFiles/coverage.dir/build.make:73: CMakeFiles/coverage] Error 1
gmake: *** [Makefile:174: coverage/fast] Error 2

see: https://github.com/SciCompMod/GMGPolar/actions/runs/12361346502/job/34498552858

With gcc/gcov 13 I get:

stderr:
  /home/runner/work/GMGPolar/GMGPolar/build/tests/CMakeFiles/gmgpolar_tests.dir/comparetest.cpp.gcno:version 'B33*', prefer 'B32*'
geninfo: ERROR: Incompatible GCC/GCOV version found while processing /home/runner/work/GMGPolar/GMGPolar/build/tests/CMakeFiles/gmgpolar_tests.dir/comparetest.cpp.gcno:
	Your test was built with 'B33*'.
	You are trying to capture with gcov tool '/usr/bin/gcov-13' which is version 'B32*'.
	(use "geninfo --ignore-errors version ..." to bypass this error)
gmake[1]: *** [CMakeFiles/coverage.dir/build.make:73: CMakeFiles/coverage] Error 1
gmake: *** [Makefile:174: coverage/fast] Error 2

see: https://github.com/SciCompMod/GMGPolar/actions/runs/12361745308/job/34499718252

Desktop (please complete the following information)

  • OS: GitHub ubuntu-latest
  • GCC version: gcc-12 and gcc-13 (github apt install gcc-12/13)
  • GCOVR version: gcov-12.3 and 13.2 (set with CMAKE and set(GCOV_PATH "/usr/bin/gcov-13"))
  • Project directory layout:
    • Roots
    • Object directories

Additional context

Appeared with recent move to ubuntu-24.04.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions