-
-
Notifications
You must be signed in to change notification settings - Fork 239
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
pyoxidizer run
failed on Windows
#105
Comments
pyoxidizer run
failed on Windows
Oh, fun. The Built PyOxidizer applications should not be going through Rust's I/O layer to write to stdout. And judging from your captured output, it kind of looks like the error was emitted as part of compiling the Rust program! I think Visual Studio emitted a Chinese localized warning message and when We can work around this in PyOxidizer by setting environment variables to force English in Visual Studio output. But that's not a great user experience for non-English speakers. We could also normalize process output to UTF-8, using the standard replacement character when output doesn't conform to UTF-8. There may also be encoding settings that we can apply to the invoked processes so Windows does the conversion for us and the Could you please run @luser do you have any insight to add? |
Same problem, I just installed rust on windows 10 and follow the pyoxidizer tutorial Whem running pyoxidizer run I got the same error BACKTRACE
|
When sccache runs msvc it explicitly converts its output from the local codepage: Poking around the pyoxidizer source for the log messages from previous comments it looks like this call into the
and sure enough: That code will definitely fail in this situation on Windows! I'd recommend opening an issue about this on the |
Thank you so much @luser! I agree with your assessment that this is a bug in the I have to admit that I'm relatively surprised this bug has lingered so long in the While I'm here, it is highly possible that PyOxidizer itself has occurrences of this does not normalize output to UTF-8 issue. I will likely need to audit the code base for every instance where we invoke a process and ensure we're doing something sane with text encodings. Also, it appears that Rust's standard library doesn't provide a way to access the |
The workaround: Run |
Environment
When I run
pyoxidizer build
orpyoxidizer run
on fresh inited pyoxidizer project, I got the following error:changing stdio_encoding value not help.
The text was updated successfully, but these errors were encountered: