-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
BLD: numpy-1.23.0rc1 wheels cannot be used to build scipy #21629
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
Comments
I wonder if thedifference might be moving to a c++ compiler, which makes the static |
Hmm, that's a thought. There are probably some nightly wheels from before that PR was merged. |
It seems we need to back out #21367. I can build withthe wheel from numpy==1.23.0.dev0+1087.g0eaa40db3, which was built from the weekly build on Thurs April 28, but the build with the wheel from numpy==1.23.0.dev0+1125.g4c3958b98 from May 5 fails. |
@serge-sans-paille ping in case you have an idea. I wonder if there might be any easy fix, such as making sure that the C++ side of it doesn't expose any symbols? |
The very use of the MSVC c++ compiler I think injects new link directives into the
I think we should not touch npymath.lib until we make it a dynamic library. xref #20880 Using
and on the new one (that doesn't work) I get
|
We can back it out, then build wheels manually for the 1.23.x branch, which should put the wheels in nightly where we can test them before the next rc. |
I don't see |
The error there is coming from mingw64 linking with |
ok, never met that... looks like incompatible toolchain combination of sort? |
@mattip the only linker-specifc option we have forC++ is in
Maybe we could remove that and see what happens? |
PR #21634 reverted the refactoring of c code to c++, which solved the problem. |
@mattip is that revert only for the release? I guess it would be great to keep the refactoring and find the actual origin of the bug (?) |
Right now it is also reverted on main, although the C++ file is still around, so you can swap it in by changing which line is commented out in |
I think we should be very careful about changing npymath until we make npymath a shared object. Also see #20880 |
What I am uncertain about is wehther But assuming that there is a reason why a shared library is tricky, would the alternative be shipping |
Probably best to continue the discussion about the path forward on issue #20880 so it gets more eyes. |
Continuation of #21360, related to #20880
The cibuildwheel-built wheels have a subtle problem with npymath.lib. The compilation adds a msvc-specific
.drectve
section to the library which mingw64 does not understand. This causes the build on scipy to fail. See scipy/scipy#16305. It seems they have a directive to link to py3.x.lib, which comes frompragma comment(lib,"python3XX.lib")
inpyconfig.h
. Now what changed in npymath that is including python headers?The text was updated successfully, but these errors were encountered: