-
Notifications
You must be signed in to change notification settings - Fork 21
Headers in universal2 wheels are not architecture independent #140
Comments
We can ignore universal2 wheels also because pip prefers thin wheels over universal2 wheels if the thin wheel exist. |
Ah ok, this would make sense as the source of the problems based on some back and forth with @charris as well |
Thanks for tracking that one down!
That's fine with me. Probably a good thing in the long run; universal2 is a bit pointless, just increases download sizes. |
Or we merge numpy/numpy#20270 |
In the meantime we should either upload a thin wheel or yank |
@isuruf Do you know if rosetta supports extended precision long doubles? We ran into a problem with cpp where we needed to use |
Yes. (base) idf2@M1MD ~ % cat asd.cpp
#include<iostream>
int main()
{
long double eps = 0.5;
while ((1+eps) != 1)
{
eps /=2;
}
std::cout << eps*2 << std::endl;
}
(base) idf2@M1MD ~ % clang++ asd.cpp -arch arm64 -arch x86_64
(base) idf2@M1MD ~ % arch -x86_64 ./a.out
1.0842e-19
(base) idf2@M1MD ~ % arch -arm64 ./a.out
2.22045e-16 |
@isuruf I'm happy to do both. Do the thin 3.10 builds work now? |
You'll have to use multi-build/multibuild#438 to get a thin wheel with 3.10 |
I've merged #20270. I'll trigger a nightly build so it can be tested. |
@isuruf Is there a problem getting multi-build/multibuild#438 merged? |
Nope. Just needs a review |
multi-build/multibuild#438 was merged yesterday! |
Both numpy and multibuild have been updated to deal with this. |
Since auto-generated file
_numpyconfig.h
hasNPY_SIZEOF_LONGDOUBLE
andNPY_SIZEOF_COMPLEX_LONGDOUBLE
generated, it's wrong for x86_64 as the universal2 wheel distributes the arm64 version of it.Easiest option would be to stop distributing universal2 wheels and only distribute thin wheels.
The text was updated successfully, but these errors were encountered: