Clang-10 was recently broken on Linux: unmet dependencies for clang-10, clang-tidy-10, valgrind

Here’s my build from 2 days ago, when clang-10 worked:

https://travis-ci.com/github/acgetchell/CDT-plusplus/builds/224190069

And here’s today’s build, where clang-10 is broken:

https://travis-ci.com/github/acgetchell/CDT-plusplus/builds/224427821

Per this line:

https://travis-ci.com/github/acgetchell/CDT-plusplus/jobs/501795386#L185

It works on GitHub actions on Ubuntu 20.04, so it’s not my code:

Please fix!

1 Like

This is a 3rd-party problem. Ubuntu maintainers have called off the latest libc release for Focal, 2.31-0ubuntu9.3, which Travis builders have preinstalled.
So the packages you’re trying to install (in partucular, valgrind dependency libc6-dbg) now require an earlier version while the preinstalled libc6-dev requires the new one. Apt can’t resolve this situation automatically.

In your Github Action, you’re installing a different set of packages, from a different source – in particular, you’re not installing valgrind.

Comment out the addons: apt: section and add the following commands. The first one downgrades libc6 and libc6-dev, the 2nd one manually installs the packages that you were installing in your addons: apt: clause.

before_install:
  - sudo apt-get install -yq --allow-downgrades libc6=2.31-0ubuntu9.2 libc6-dev=2.31-0ubuntu9.2
  - sudo -E apt-get -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages install build-essential automake autoconf autoconf-archive libtool-bin texinfo yasm gcc-10 g++-10 clang-10 clang-format-10 clang-tidy-10 ninja-build cppcheck valgrind doxygen graphviz lcov -o Debug::pkgProblemResolver=yes
1 Like

FYI, to specify multiline commands, use YAML blocks like you do in your script: clause.

I can confirm this fixed the problem, thank you!

Now I’m probably going to go back and isolate this to just my valgrind runs.

Can we expect this fixed any time soon or all the projects using this set of packages on Focal will have to apply this workaround?

The workaround is only needed if you install libc6-dbg (or anything that depends on it).

I already notified the support that they need to downgrade libc in the images.

Hey @acgetchell / @Jakuje,

Now, once you use dist: focal and language: cpp within your build will be using the default version that should be ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31. I have also tested this [1] and it gets the version correctly.

@native-api again, thank you for the workaround.

Have a good one,

Best

[1] Travis CI - Test and Deploy with Confidence