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

delocate-fuse merge strategies if file contents differ #180

Open
rgommers opened this issue Mar 21, 2023 · 0 comments
Open

delocate-fuse merge strategies if file contents differ #180

rgommers opened this issue Mar 21, 2023 · 0 comments

Comments

@rgommers
Copy link

rgommers commented Mar 21, 2023

In pypackaging-native/pypackaging-native#27 (comment), @freakboy3742 pointed out a potential problem with delocate-fuse: when two files (.py, .h, or any other file type other than the binaries that actually need fusing) differ, it is unclear what to do.

At the moment, delocate-fuse doesn't check and just keeps one of the two files. For reproducible builds this is fine, but if you have for example a generated header file which depends on the architecture (e.g., contains size of long double, a real bug we had in numpy), there is a problem. There are a few possible merge strategies possible:

  • error out
  • pick one file at random
  • pick the files from the first wheel that was fed to delocate-fuse

The safest bet would be to error out, and allow users to specify a list of files that are known to differ between x86-64 and arm64, with the specification of which to pick. This is likely to catch some bugs, and improve the reproducibility of wheel builds.

@rgommers rgommers changed the title delocate-fuse merge strategies if files differ delocate-fuse merge strategies if file contents differ Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants