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

cibuildwheel 2.11.3/2.11.4 fails to build NumPy on 32-bit Windows #1389

Closed
charris opened this issue Jan 3, 2023 · 8 comments
Closed

cibuildwheel 2.11.3/2.11.4 fails to build NumPy on 32-bit Windows #1389

charris opened this issue Jan 3, 2023 · 8 comments

Comments

@charris
Copy link

charris commented Jan 3, 2023

Description

cibuildwheel 2.11.4 fails to build for cp39, cp310, and cp311 on 32 bit Windows, see numpy/numpy#22921. A log can be found at https://github.com/numpy/numpy/actions/runs/3832441885/jobs/6522755840.

The builds work for cibuildwheel 2.11.2. There is also a pp38 segfault on manylinux2014, but that may be a PyPy fluke.

Build log

No response

CI config

No response

@henryiii
Copy link
Contributor

henryiii commented Jan 3, 2023

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-i4ooz105\\cp39-win32\\build\\venv\\libs\\python39.def'

(inside NumPy’s distutils)

We moved to using cmd instead of bash for the action, though I don’t know how that would affect this only for 32-bit. 3.8 and 3.9 haven’t updated, so it’s not a Python bump.

@joerick
Copy link
Contributor

joerick commented Jan 4, 2023

Setuptools updated in that time too, but numpy pins that in their build-system.requires.

The other thing that I notice is that virtualenv updated from virtualenv==20.16.5 to virtualenv==20.17.1. Perhaps virtualenv isn't including the python39.def file?

@henryiii
Copy link
Contributor

henryiii commented Jan 4, 2023

Would it be possible to try 2.11.3, just to narrow it down one last little bit?

@charris
Copy link
Author

charris commented Jan 4, 2023

Would it be possible to try 2.11.3

Same problem: https://github.com/numpy/numpy/actions/runs/3839641498/jobs/6537708313.

I think the pp38 failure was also legitimate, but that takes about 90 minutes to build and test.

@henryiii henryiii changed the title cibuildwheel 2.11.4 fails to build NumPy on 32 bit Windows cibuildwheel 2.11.3/2.11.4 fails to build NumPy on 32-bit Windows Jan 4, 2023
@henryiii
Copy link
Contributor

henryiii commented Jan 4, 2023

There might be differences in configuration for cmd vs bash. I think it should still work, but numpy is somehow not detecting it correctly and not generating this file (this file seems to be written by numpy's distutils in https://github.com/numpy/numpy/blob/46142454ed4746ac991d4074d2943d892ede35d6/numpy/distutils/mingw32ccompiler.py#L324-L331).

Oh, build_import_library being called before build_msvcr_library... It's trying to write it in https://github.com/numpy/numpy/blob/46142454ed4746ac991d4074d2943d892ede35d6/numpy/distutils/mingw32ccompiler.py#L440-L446. The other paths (like 64-bit) look cleaner to me - the 32-bit one has extra handling for venvs, which I'm guessing may be the cause of this. I'm guessing it can't open this file for writing - maybe the "libs" folder doesn't exist?

@joerick
Copy link
Contributor

joerick commented Jan 6, 2023

maybe the "libs" folder doesn't exist?

These issues might be related? numpy/numpy#20391 and the conversation in the linked PR.

@mattip
Copy link
Contributor

mattip commented Jan 9, 2023

Updating that one difference from a successful build is that the broken build is not using MSVC, rather mingw32, as the main compiler. Both runs are using the same version of the github runner with its builtin software.

@charris
Copy link
Author

charris commented Jan 14, 2023

Closing. All issues except pp38 have been fixed on the NumPy side. The pp38 segfault should be fixed by #1372.

@charris charris closed this as completed Jan 14, 2023
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

No branches or pull requests

4 participants