Skip to content

Conversation

@ogabrielides
Copy link

@ogabrielides ogabrielides commented Jun 29, 2023

Issue being fixed or feature implemented

As reported by @kittywhiskers, GCC version 8 complains with error: 'this' was not captured for this lambda function

In order to support old GCC compilers, this should be captured explicitly.

What was done?

Captured this explicitly in affected functions: GetValidMNsCount, GetAllHPMNsCount, GetValidHPMNsCount and GetValidWeightedMNsCount.

How Has This Been Tested?

feature_llmq_hpmn.py checks MNs count

Breaking Changes

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

@ogabrielides ogabrielides marked this pull request as draft June 29, 2023 09:21
@ogabrielides ogabrielides marked this pull request as ready for review June 29, 2023 10:13
Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK

Tested with 72cc0f2 rebased on top of dash#5448

Copy link
Member

@PastaPastaPasta PastaPastaPasta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK for squash merge

@UdjinM6
Copy link

UdjinM6 commented Jun 29, 2023

@ogabrielides
Copy link
Author

How can this be possible though? We use gcc-8 in gitian https://github.com/dashpay/dash/blob/master/contrib/gitian-descriptors/gitian-linux.yml#L20 and it doesn't complain

Maybe a slightly different gcc version @kittywhiskers ?

@kwvg
Copy link
Collaborator

kwvg commented Jun 29, 2023

Debian 10 (buster) ships with gcc 8.3.0 (source) while Ubuntu 20.04 LTS (focal), the distro used by Gitian as of 63c4e24, ships with 8.4.1 (source).

There seemed to be bug reports of a reported regression in 8.x series, here and here.

This regression matters due to the need to downgrade glibc to 2.8, as attempting to remove glibc-compat means that using anything but a build environment with the minimum version of supported glibc will cause symbol check failures due to possible upgrades in versioned symbols (as has happened with 2.9, which is what focal ships with).

This requires us to use buster, as done in #5448, which is where the regression was discovered.

@UdjinM6
Copy link

UdjinM6 commented Jun 29, 2023

@kittywhiskers Thanks! 👍 Would be nice to have the need for buster explained in #5448 PR description too.

Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

@UdjinM6 UdjinM6 merged commit 13d8f41 into dashpay:develop Jun 29, 2023
@ogabrielides ogabrielides deleted the gcc8_guix_compatibility branch June 30, 2023 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants