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 wheels with cibuildwheel 2.12.0 #22921
Conversation
What about adding a numpy/numpy/distutils/mingw32ccompiler.py Line 441 in 4614245
|
I'm a bit hesitant without knowing why the current code breaks in 2.11.3. I wonder if the meson build also needs to deal with this. @rgommers Thoughts? |
Running in bash was likely a more GNU-like environment than cmd. Meson behaves very differently if you switch between bash & cmd - this is primarily why we changed this default to cmd in cibuildwheel. In bash it was not able to find MSBC, and was stuck with mingw. You can manually test the last two patch versions with bash by running it via pipx instead of using the action (in a bash run action). |
So the issue is:
@henryiii's suggestion seems fine to me - whatever works here I'd say. Meson build: probably not affected by this, since it's choking on something in |
@henryiii That didn't fix things, but pushed the failure further on to link time. Looks like the Python library wasn't available. |
Somehow it's not resolving in the non-bash environment correctly. As @joerick points out in the cibuildwheel issue, in #20391, I think this is known to be fragile. I expect it finds the library outside the venv: numpy/numpy/distutils/mingw32ccompiler.py Lines 420 to 436 in 4614245
Then builds the .def inside the venv. I would have thought it would be valid to have the .def and the file in different directories?
|
close/reopen to rerun. |
2a3ae30
to
e9dc2d7
Compare
The macosx failures are new and probably due to a rebase that exposed recent numpy SIMD merges. I suspect they show up here due to a change in compiler versions. @henryiii Has the macosx compiler been updated in cibuildwheel? @seiko2plus Thoughts? |
The clang compiler does not recognize the Also for some reason the 32-bit windows builds are linking with g++ instead of MSVC. |
Thanks @seiko2plus, now all that is left is the win32 failures. Here was the last successful run. I wonder what changed. |
The 64-bit build uses MSVC in both cases, here is the |
5edf329
to
54c5fc0
Compare
I tried to install python-32bit but still got 64-bit version : Run pipx run --python "C:\hostedtoolcache\windows\Python\3.11.1\x64\python.exe" --spec "D:\a\_actions\pypa\cibuildwheel\v2.11.3" cibuildwheel "." --output-dir '"wheelhouse"' --config-file '""' --only '""' |
the linker wasn't able to identify 32bit of libpython 2023-01-09T11:30:39.9452849Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x6f): undefined reference to `_imp___Py_NoneStruct'
2023-01-09T11:30:39.9463148Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x252): undefined reference to `_imp___Py_NoneStruct'
2023-01-09T11:30:39.9464256Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x2de): undefined reference to `_imp__PyType_IsSubtype'
2023-01-09T11:30:39.9465285Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x2ff): undefined reference to `_imp___Py_NoneStruct'
2023-01-09T11:30:39.9466173Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x369): undefined reference to `_imp__PyExc_TypeError'
2023-01-09T11:30:39.9467149Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x374): undefined reference to `_imp__PyErr_SetString'
2023-01-09T11:30:39.9468031Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x3b5): undefined reference to `_imp___PyArg_ParseTuple_SizeT'
2023-01-09T11:30:39.9468927Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x3c3): undefined reference to `_imp__PyFloat_Type'
2023-01-09T11:30:39.9471250Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x3d4): undefined reference to `_imp__PyType_IsSubtype'
2023-01-09T11:30:39.9481568Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x3e7): undefined reference to `_imp__PyComplex_Type'
2023-01-09T11:30:39.9482597Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x408): undefined reference to `_imp__PyBool_Type'
2023-01-09T11:30:39.9483479Z C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: build\temp.win32-3.9\Release\build\src.win32-3.9\numpy\core\src\multiarray\_multiarray_tests.o:_multiarray_tests.c:(.text+0x421): |
Did you convince the build process to use MSVC and not g++? |
54c5fc0
to
b4b50d0
Compare
passed after uses MSVC |
898a62d
to
1af7025
Compare
@henryiii Updating to 2.11.4 brings back the pp38 segfault on manylinux2014. |
That was fixed in PyPy issue 3870 which was part of the PyPy v7.3.11 release (cibuildwheel 2.11.4 uses v7.3.10). There is a PR to upgrade PyPy in pypa/cibuildwheel#1372 |
@mattip Thanks for the info. Looks like the next step is to wait for cibuildwheel 2.11.5 and upgrade the version again. Or we could put this in with 2.11.3, but there is no hurry. |
Also cleanup some uneeded/commented stuff.
1af7025
to
57c6154
Compare
Updated to use cibuildwheel 2.12.0 released four hours ago. |
Self merging so work on top of this can proceed. @mattip You should be able to use pp39 now. |
The 2.11.4 version of cibuildwheel was failing on 32 bit windows. This is to check that and provide an error log that can be linked to in a cibuildwheel issue.