-
Notifications
You must be signed in to change notification settings - Fork 100
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
Can't build using x86_64-pc-windows-gcc #147
Comments
I'm not able to help because I don't own a Windows PC, so help wanted. |
Hi @Quogu, sorry it has taken me so long to investigate this. It is possible to build using I had to use the msys2 package |
Thanks for the reply, @davidhewitt! What I don't understand is why this requirement has been added in more recent versions of setuptools-rust / PyO3 - previously we were able to build using As an example, if I checkout
If I then run:
It will successfully build the extension, and I'm able to launch Python and use the module successfully too. Given that this used to work in previous versions of setuptools-rust and PyO3, this seems like a regression to me. Does that sound reasonable to you, and if so, could this issue be re-opened and investigated, please? Thanks very much for your time. |
Thanks for the reply @Quogu. So I've done some research and it sounds like DLLs linked with msvc (which your Python from conda will be) can be linked into binaries with the gnu target, as long as the symbols are just plain old C symbols. (From stack overflow it sounds like the issues come from different C++ symbol mangling schemes from the two compilers.) So yes, I'm happy to consider this a regression. The original change probably came from PyO3/pyo3#1423, which supported the mingw lib name on Windows with the gnu target. Rather than revert that PR, I'd like to provide a way to configure the DLL name to link against. |
(Or even better, I think I might be able to use |
This should be fixed in PyO3 0.14.2, which I'll put live tomorrow. PyO3/pyo3#1760 Will close again as fixed, please report back if 0.14.2 still doesn't work for you. |
Hi @davidhewitt, Just to let you know, I managed to test out this change, it took me longer than I was hoping so apologies for that, but it seems good! We get far further than we did the last time we attempted to upgrade, now it's just a case of fixing up the breaking changes between 0.12 and 0.14. :) |
I'm not able to build the
html-py-ever
example project on Windows using thex86_64-pc-windows-gcc
target.To reproduce, I did the following:
I get the following error log:
If I then do:
Then I instead get the following error:
The Rust version is
rustc 1.52.1 (9bc8c42bb 2021-05-09)
, and the example code I'm using is at revision75787159051f133f24dbceeb143ee5ae976c7244
. I'm on Windows 10 build 19042.985. My GCC toolchain version isgcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
.Would it be possible to allow setuptools-rust to successfully build against x86_64-pc-windows-gnu please?
The text was updated successfully, but these errors were encountered: