linux-test-project / lcov

LCOV
GNU General Public License v2.0
867 stars 235 forks source link

Help with the conda-forge package #219

Closed MuellerSeb closed 1 month ago

MuellerSeb commented 1 year ago

Version 2 of LCOV has some problems in the conda-forge package because of some dependencies: https://github.com/conda-forge/lcov-feedstock/pull/10

Maybe someone here has an idea how to approach this.

Cheers, Sebastian

henry2cox commented 1 year ago

I was hoping someone else would respond - but not so far. Could you clarify the question? From the linked report, it appears that your platform is missing some required perl packages. Thus: you need to install those required modules. I guess your platform does have a perl installed - else lcov 2.0.16 would not have worked either - so this should be a 'simple' matter of just figuring out how those other modules were specified and installed - and then repeating that. Note that you will also need a python and an xlsxwriter package in order to successfully run the lcov regression suite. Python is a new requirement for lcov 2.0 - and your platform may not be configured to handle it.

Hope that helps. Henry

MuellerSeb commented 1 year ago

So what are the minimal requirements for LCOV now explicitly? LCOV 1.16 seemed to be working without any other run dependency than perl (link)

I don't think I can install perl packages in the conda recipe that are not present as conda-forge package already. (I guess DateTime, Devel::Cover, File::Spec, Memory::Process and Time::HiRes are the ones that are not present on conda-forge).

I never used perl. I just want to use LCOV from conda.

So my questions:

  1. are some of these perl modules part of the perl conda-forge package by default?
  2. are really all these modules needed to use LCOV?
  3. you mentioned python as a dependency. Are there some python packages needed?
henry2cox commented 1 year ago

I think that - if you are happy with lcov 1.16, then you can continue to use it. If you want to upgrade to take advantage of new features: then you will have to upgrade.

So my questions:

are some of these perl modules part of the perl conda-forge package by default?

I fear that I do not know what conda or conda-forge are - so cannot help you there.

are really all these modules needed to use LCOV?

Yes and no. Yes: they are used to (portably) implement some set of features. No: there is always another way to do it. But this works today - and so nobody is likely to rewrite.

you mentioned python as a dependency. Are there some python packages needed?

"needed" for testing - specifically, to generate spreadsheets for CPU performance monitoring. Required - if you want to modify lcov. Not required if you just want to run the tool.

There is a list of required packages in the README.

My guess is that this doesn't really help you. Sorry. Henry

MuellerSeb commented 1 year ago

I fear that I do not know what conda or conda-forge are - so cannot help you there.

OK, that explains some things. I am not doing anything on my own system here. The linked repository is the "official" package recipe for LCOV in the conda-forge ecosystem. Conda is an open source package management system and environment management system.

I am just a supporting volunteering maintainer there to help keeping it up-to-date, but I am a bit puzzled with the latest update and the CI failing for it.

MuellerSeb commented 1 year ago

But one information you could help with:

What perl dependencies were added between 1.16 and 2.0?

henry2cox commented 1 year ago

section 3 - Dependencies - of the README. Either in the top level directory of the repo you cloned displayed in the top level lcov project page in github. (Scroll down a bit).

MuellerSeb commented 1 year ago

I already saw that section. I was just wondering if really all of these are "new" dependencies, that were not required by v1.16:

henry2cox commented 1 year ago

Digest::MD5 was also a dependency in v 1.16. DateTime might have been as well (cannot remember). The others are "new".

I confess to be not entirely sure why it matters, as you need all of them.

henry2cox commented 1 month ago

No updates in a long time - so closing this issue now. It seems related to a particular distributiion/repo - not to an lcov bug.

If there is still a problem that needs an lcov fix or enhancement, please feel free to reopen this issue or file a new one.