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

BLD: Make NumPy build reproducibly #26540

Merged
merged 1 commit into from
May 26, 2024

Conversation

charris
Copy link
Member

@charris charris commented May 26, 2024

Backport of #26474.

This pull request fixes two non-deterministic build outcomes to make the NumPy build fully reproducible:

  • The __config__.py configuration dict should take the LAPACK metainfo from the lapack object, not the lapack_dep object, because the latter contains a (randomly) generated name of the form depXXXXXXXXXXX.

  • If the .s source files for SVML support are added as objects, gcc will implicitly build them to object files with a random temporary filename of the form ccXXXXX.o in the linking stage. If added as source files, Meson will create the object files explicitly and assign sane, reproducible file names.

  • Write actual lapack dependency to config.py
  • Build .s assembly files as source files

* Write actual lapack dependency to __config__.py
* Build .s assembly files as source files
@charris charris added 08 - Backport Used to tag backport PRs 36 - Build Build related PR labels May 26, 2024
@charris charris added this to the 2.0.0 release milestone May 26, 2024
@charris charris merged commit dc50da4 into numpy:maintenance/2.0.x May 26, 2024
60 checks passed
@charris charris deleted the backport-26474 branch May 26, 2024 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
08 - Backport Used to tag backport PRs 36 - Build Build related PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants