-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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
Compiling numpy 1.17 on cygwin fails with `Error: invalid register for .seh_savexmm #14787
Comments
Sounds like a hardware detection or compiler problem. What GCC version do you have? Are you running 32 or 64 bits? |
64-bit Cygwin with GCC 8.3.0. |
Numpy 1.17.3 installs fine on 32-bit Cygwin with gcc 7.4.0 and python 3.6.9 |
Installing numpy 1.17.3 from source with pip on 64-bit WSL-debian using python 3.7.3 and gcc 8.3.0 worked fine. |
Running git bisect points to the following commit:
I restricted attention to |
What is your cpu? I think this is a compiler/configuration problem. Are you running in a virtual environment by any chance. |
Four commits before that one works; three before does not. |
No virtual environment, Intel core i5. |
In order to freeze the build, you can do this, the
This stack overflow suggests adding |
Thank you, |
According to gcc bug report, it has not been fixed. We could add the flag unconditionally when cygwin is detected, but then it would get lost inside distutils and we would not know to update it when gcc fixes the problem. |
Should we add a config test for the need for this flag, which is what I did last time I got a compiler bug? |
sure, maybe we should have done that with the -std=c99 fix as well. It is a flag, not a "HAVE" test. Where would we add that? |
Hmm, I hadn't thought of that. This is the change I'd made before I was thinking about: https://github.com/numpy/numpy/pull/13739/files#diff-33315af1a22893e97676ee134db5ce1cR466-R471 |
We could some new |
NumPy 1.17.5 is compiling and has no new test failures compared to
1.16.6. I did have to move a few "#include <Python.h>" lines before
system includes so it could define "_GNU_SOURCE" before "#include"ing
system headers. I will submit those as a separate pull request if I
still need to do that for "master".
|
I got 1.18.4 to pass all tests expected, with
I think I also tested it with just the |
I forgot to pass the flags when testing a PR, so apparently this is gone. The GCC bug report above now says "fixed", so I'm not sure whether it's GCC or NumPy that did something to make this go away. Current NumPy master (will be 1.19) on 64-bit Cygwin 3.1.4 with GCC 9.3.0. 1.17.3 compiles just fine now as well, so I'm suspecting this is a GCC fix. |
This is still an issue on older GCC (<8.4), see #16290. |
… flags when building the numpy.core._multiarray_umath module This adds the extra compile args to the extension needed to work around the bug but only in the known case where the bug is relevant.
BUG: Workaround for #14787 on affected platforms
… flags when building the numpy.core._multiarray_umath module This adds the extra compile args to the extension needed to work around the bug but only in the known case where the bug is relevant.
BUG: Cygwin Workaround for #14787 on affected platforms
Given #17548 and friends, I think this issue is resolved in trunk and a few older release branches, so it's time to close this issue. |
Attempting to install numpy 1.17.3 on cygwin fails, with the only reported error message being
invalid register for .seh_savexmm
.I can't figure out where this would be getting called, since the reported file is
standard input
and grepping the source forsavexmm
does not produce any obvious clues.Reproducing code example:
Error message:
Error message on third and subsequent compilations
The first and second compilations produce different output before the block of errors, but are otherwise identical.
Numpy/Python version information:
Compiling numpy 1.17.3 on python 3.5.7 fails as described above.
Compiling numpy 1.17.0 on python 3.7.4 fails in the manner described above.
Numpy 1.16.5 built just fine and passed most tests.
How would I go about debugging this?
The text was updated successfully, but these errors were encountered: