ronstudy1
ronstudy1

Reputation: 136

geninfo searches .da instead of .gcda

When I try to execute the following lcov command through Plink (I give Plink a text file as an argument containing the following command)

lcov --capture --directory . --output-file coverage.info

it results with

GNU gcov version 1.5 Capturing coverage data from . Scanning . for .da files ... gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file geninfo: Use of uninitialized value in pattern match (m//) at /home/myUser/lcov/lcov/usr/bin/geninfo line 1874. gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] file geninfo: Use of uninitialized value in pattern match (m//) at /home/myUser/lcov/lcov/usr/bin/geninfo line 3622. geninfo: Use of uninitialized value in pattern match (m//) at /home/myUser/lcov/lcov/usr/bin/geninfo line 3622. geninfo: ERROR: no .da files found in .!

It seems that the geninfo expects for .da files instead of .gcda files. when I execute the same command without Plink (in the same CWD), the lcov runs fine and generates a valid .info file. It also runs fine when I execute it manually thorugh PuTTY.

what might be the reason for this?

Upvotes: 1

Views: 1592

Answers (2)

Anbu
Anbu

Reputation: 91

Upgrading lcov version to latest solved the issue. Older version of lcov searches .da instead of .gcda. Updating to latest version 1.13 solves the issue

Upvotes: 0

ronstudy1
ronstudy1

Reputation: 136

The problem was more general. Plink uses different environment variables. The solution was to set manually the correct environment variables. In my case I run perl script so I added in the head of the file:

use Env;
$ENV{PATH} = "correct PATH variable";

a missing environment variable caused the code to get wrong gcov version and therefore .da files were serached instead of .gcda files that belong to newer lcov versions

Upvotes: 1

Related Questions