Mingw-packages: lcov: package from pacman is broken

Created on 21 Nov 2017  Β·  16Comments  Β·  Source: msys2/MINGW-packages

When I build pakage manually using this repo's PKGBUILD,

  • mingw-w64-i686-lcov-1.12-1-any.pkg.tar.xz
  • mingw-w64-x86_64-lcov-1.12-1-any.pkg.tar.xz
  • mingw-w64-x86_64-lcov-1.13-1-any.pkg.tar.xz

was generated.
However, these packages except mingw-w64-x86_64-lcov-1.13-1-any.pkg.tar.xz is broken.

These packages should add lcov command, however, I cannot find it after install these packages.

$ pacman -S mingw-w64-i686-lcov mingw-w64-x86_64-lcov

is also broken

Most helpful comment

It's Jan 2018 and this is the current status? create lcov package manually as it is still empty (only metadata in tar.xz) ?

All 16 comments

When I install mingw-w64-x86_64-lcov-1.13-1-any.pkg.tar.xz, /mingw64/bin/lcov will be created, not /mingw64/bin/lcov.exe. So, When I use it in CMake(add_custom_target) with Ninja,

$ninja GTF_Test_coverage
[1/1] Resetting code coverage counters to zero.Processing code coverage counters and generating report.
FAILED: CMakeFiles/GTF_Test_coverage
cmd.exe /C "cd /D C:\msys64\home\yumetodo\GTFramework\test\build_ninja && C:\msys64\mingw64\bin\lcov --directory . --zerocounters && C:\msys64\mingw64\bin\lcov -c -i -d . -o GTF_Test_coverage.base && C:\msys64\home\yumetodo\GTFramework\test\build_ninja\GTF_Test.exe && C:\msys64\mingw64\bin\lcov --directory . --capture --output-file GTF_Test_coverage.info && C:\msys64\mingw64\bin\lcov -a GTF_Test_coverage.base -a GTF_Test_coverage.info --output-file GTF_Test_coverage.total && C:\msys64\mingw64\bin\lcov --remove GTF_Test_coverage.total --output-file C:/msys64/home/yumetodo/GTFramework/test/build_ninja/GTF_Test_coverage.info.cleaned && C:\msys64\mingw64\bin\cmake.exe -E remove GTF_Test_coverage.base GTF_Test_coverage.info GTF_Test_coverage.total"
'C:\msys64\mingw64\bin\lcov' γ―γ€ε†…ιƒ¨γ‚³γƒžγƒ³γƒ‰γΎγŸγ―ε€–ιƒ¨γ‚³γƒžγƒ³γƒ‰γ€
ζ“δ½œε―θƒ½γͺγƒ—γƒ­γ‚°γƒ©γƒ γΎγŸγ―γƒγƒƒγƒ フゑむルとしてθͺθ­˜γ•γ‚Œγ¦γ„γΎγ›γ‚“γ€‚
ninja: build stopped: subcommand failed.

such error will be occur.

Current PKGBUILD was updated in #3106 by @GitMensch

Yes, I've updated it as the old one was broken and the manual created package worked.
When doing a forced update yesterday the package (which I've installed locally and tested) was downgraded and lcov cannot be found again.

@yumetodo Did I understood you correctly that your manual build with the updated 1.13 did work - but only the 64bit version?

In general: Do you have any idea how long the "updating the binaries in the package repository may need some days" is?

package from pacman

version 1.12 was installed. I cannot find any command or any document.

manual build package ( 2fddbadd1d5ee0adbd7a1ea2755fbf3ae704beac )

I tried to build manually with the command below.

makepkg -cs

Then, these package was produced.

  • mingw-w64-i686-lcov-1.12-1-any.pkg.tar.xz: same as the package from pacman.
  • mingw-w64-x86_64-lcov-1.12-1-any.pkg.tar.xz: same as the package from pacman
  • mingw-w64-x86_64-lcov-1.13-1-any.pkg.tar.xz: lcov command can be found. However, the filename extension is not exe, same for gendesc, genhtml, geninfo, genpng.

note: mingw-w64-i686-lcov-1.13-1-any.pkg.tar.xz was not produced.

Did I understood you correctly that your manual build with the updated 1.13 did work - but only the 64bit version?

Only 64bit version was produced and there is problem pointed above.

BTW, Why version 1.12 package was also produced when I manually build?

In general: Do you have any idea how long the "updating the binaries in the package repository may need some days" is?

Of course, I know. However, It's seem that the PKGBUILD is also broken, so that there is no way to create correct package.

Just a note: I've created the package locally with

  • checkout the lov package folder
  • start msys2, run packman -S base-devel msys2-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
  • cd into the lcov package folder, run makepkg-mingw -sCLf

This should give you exactly two packages as tar.gz which you can install locally with pacman -U *.tar.gz

It's Jan 2018 and this is the current status? create lcov package manually as it is still empty (only metadata in tar.xz) ?

As a workaround, I built with makepkg, install mingw-w64-x86_64-lcov-1.13-1-any.pkg.tar.xz, and in /etc/pacman.conf,

IgnorePkg   = mingw-w64-x86_64-lcov

@Alexpux can you build lcov?

@lazka it depends on MINGW perl that is not maintained for a long time and have many issues. So I will not build any MINGW package that depends on MINGW perl

@Alexpux ok, fair enough.

@Alexpux not sure if that would work with mingw builds, but would you accept a cygwin lcov package?

@lazka it make sense

I've opened a PR -> #1176. I've tested the cygwin version and it seems to work fine.

I've just recently installed the mingw-w64 package on my mingw-w64 setup, and it doesn't work. It's not in any of my bin directories. Even if I try it on the MSYS2 regular setup, it doesn't work.

$ pacman -S mingw-w64-x86_64-lcov
warning: mingw-w64-x86_64-lcov-1.12-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) mingw-w64-x86_64-lcov-1.12-1


:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                      [##########################] 100%
(1/1) checking package integrity                    [##########################] 100%
(1/1) loading package files                         [##########################] 100%
(1/1) checking for file conflicts                   [##########################] 100%
(1/1) checking available disk space                 [##########################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-x86_64-lcov            [##########################] 100%

$ lcov
bash: lcov: command not found

@VermillionAzure That is exactly what I pointed out at the beginning of this issue. And, https://github.com/Alexpux/MSYS2-packages/pull/1176 (by @lazka) will resolve this issue. I'm waiting @Alexpux's reaction.

Was this page helpful?
0 / 5 - 0 ratings