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: build Windows wheel for py39 against numpy 1.22.3 #18036

Merged
merged 1 commit into from Feb 23, 2023

Conversation

rgommers
Copy link
Member

This is a follow-up to gh-17959, which bumped numpy from 1.19.5 to 1.21.6, which is wrong because that version was built with vc142 (see comment above the line added in this PR).

[wheel build]
[skip circle] [skip cirrus] [skip azp]

@rgommers rgommers added the Build issues Issues with building from source, including different choices of architecture, compilers and OS label Feb 23, 2023
@tupui
Copy link
Member

tupui commented Feb 23, 2023

Does it mean then that our compatibility for Windows is in fact NumPy >= 1.22.3?

This is a follow-up to scipygh-17959, which bumped numpy from
1.19.5 to 1.21.6, which is wrong because that version was
built with vc142 (see comment above the line added in this PR).

[wheel build]
[skip circle] [skip cirrus] [skip azp]
@rgommers
Copy link
Member Author

Does it mean then that our compatibility for Windows is in fact NumPy >= 1.22.3?

For builds from source, no. For our wheels, yes.

@tupui
Copy link
Member

tupui commented Feb 23, 2023

I am not sure I understand this right. Are you saying a user could build from source and use 1.21.6, but if they use our wheels there have to be on >=1.22.3?

@rgommers
Copy link
Member Author

Yes, it's perfectly possible to build both NumPy and SciPy with the same set of compilers. The problem with numpy 1.21.6-1.22.2 is that a compiler was used that clashes with the one we use for SciPy.

This is generically true by the way - constraints for wheels and source code does not have to be the same for any project.

@tupui
Copy link
Member

tupui commented Feb 23, 2023

Ok but isn't it an issue if we say that we support 1.21.6 and then some users would not be able to get a wheel working with that? Since building from source is not an easy/transparent exercice (and from my understanding even less on Windows), shouldn't we only advertise for wheel compatibility or the easy/transparent path?

@andyfaff
Copy link
Contributor

Yes, it's perfectly possible to build both NumPy and SciPy with the same set of compilers

Could we transition to using the same compilers as numpy then (or both projects decide on a common set of compilers)? Historically wasn't the reason why we avoided using MSVC for scipy redistributing the CRT?

@rgommers
Copy link
Member Author

Could we transition to using the same compilers as numpy then (or both projects decide on a common set of compilers)?

NumPy isn't moving away from MSVC. We could conceivably use MSVC + Intel Fortran, now that Intel has made its Fortran compiler more freely available. It's still nontrivial to install though - gh-16957 is working in that direction, but I put that on hold because I didn't have the time to keep messing with CI (and I'm terrible at Windows command-line stuff).

Ok but isn't it an issue if we say that we support 1.21.6 and then some users would not be able to get a wheel working with that?

To some extent yes - but we've always had cases like this. We could lower our minimum numpy version (one of 1.21.3/4/5 should work I expect). I wasn't the one who pushed for a higher numpy minimum version:)

@andyfaff
Copy link
Contributor

This is looking good. Thanks Ralf.

@andyfaff andyfaff merged commit 90d0213 into scipy:main Feb 23, 2023
@tupui tupui added this to the 1.11.0 milestone Feb 23, 2023
@rgommers rgommers deleted the fix-win32-py39-wheel branch February 23, 2023 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build issues Issues with building from source, including different choices of architecture, compilers and OS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants