Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: enforce minimum versions of libgmp based on arch and platform #92

Merged
merged 3 commits into from
Oct 4, 2024

Conversation

kwvg
Copy link
Collaborator

@kwvg kwvg commented Sep 25, 2024

Motivation

bls-signatures#52 was merged in due to a bug in libgmp (source) that resulted in erratic behavior certain macOS environments. This has since been resolved with GMP 6.3.0 (source) and is available with Homebrew (source). Ubuntu 20.04 (focal) distributes GMP 6.2.0 (source) and Debian 11 (bullseye) distributes GMP 6.2.1 (source) and these versions work fine with dashbls in their respective environments.

As the bug only affects Apple Silicon Macs running macOS Ventura and above, we need to test against a minimum version differentiated by platform and architecture. This pull request aims to do that.

Additional Information

@kwvg kwvg changed the title build: enforce minimum versions of libgmp based on host and platform build: enforce minimum versions of libgmp based on arch and platform Sep 25, 2024
@UdjinM6
Copy link

UdjinM6 commented Sep 26, 2024

Needs 738d187 from #91 (to build it with gmp installed) and also b4cefa6 (to build it w/out gmp installed and auto/no backend specified).

@UdjinM6
Copy link

UdjinM6 commented Sep 27, 2024

2 more suggestions, pls check fb6c2d5 and 7f1a715

@kwvg kwvg force-pushed the darwin_gmp branch 2 times, most recently from ab2ea36 to 8d182a8 Compare September 30, 2024 07:44
kwvg and others added 3 commits October 4, 2024 18:52
`AC_PROG_CC_C99` was deprecated in autoconf 2.70 and is succeeded by
`AC_PROG_CC` (which also includes checks made by `AM_PROG_CC_C_O`, also
deprecated). Removing deprecated macros should keep autoconf happy.
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
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.

ACK e27a62f

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 e27a62f

@PastaPastaPasta PastaPastaPasta merged commit adbd094 into dashpay:develop Oct 4, 2024
22 of 27 checks passed
@kwvg kwvg mentioned this pull request Oct 6, 2024
5 tasks
PastaPastaPasta added a commit to dashpay/dash that referenced this pull request Oct 8, 2024
9dad525 build: set `-march` irrespective of target operating system (Kittywhiskers Van Gogh)
82b4405 build: update gmp to 6.3.0 (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  After [bls-signatures#92](dashpay/bls-signatures#92), GMP is re-enabled for Apple Silicon macOS targets so long as GMP 6.3.0 or higher is used. GMP significantly contributes to performance improvements in bls-signatures, generally to the tune of ~50% ([source](dashpay/bls-signatures#93 (comment))).

  The URL has been changed based on guidance from the Homebrew recipe for `gmp` ([source](https://github.com/Homebrew/homebrew-core/blob/51c899140c84d38dfa4c4fe623c859e6241504a0/Formula/g/gmp.rb#L44-L45)).

  ## Breaking Changes

  None expected.

  ## Checklist:

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

ACKs for top commit:
  PastaPastaPasta:
    utACK [9dad525](9dad525)

Tree-SHA512: fbab727b9aa331f3eadd0573b925bc222380732782642cd4e12d670162cc0c45bf14edc8f99227960dc894f968f1d3f22496f0da7aca898ecb8db41d3a504f2b
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.

3 participants