classification
Title: Unable to execute python.exe from zip in wine
Type: crash Stage: resolved
Components: Windows Versions: Python 3.8
process
Status: closed Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: clanmills, paul.moore, remi.lapeyre, steve.dower, tim.golden, zach.ware
Priority: normal Keywords:

Created on 2020-05-28 09:46 by clanmills, last changed 2020-05-28 11:40 by clanmills. This issue is now closed.

Messages (6)
msg370183 - (view) Author: Robin (clanmills) Date: 2020-05-28 09:46
I've downloaded python38.zip(and python32.zip).  It doesn't run because it's using an API `PathCchCanonicalizeEx()` that's not provided in wine.

```
Z:\home\rmills\temp\python-3>wine: Call from 0x7b43cfbc to unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCanonicalizeEx, aborting
wine: Unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCanonicalizeEx called at address 0x7bc50023:0x7b43cfbc (thread 0034), starting debugger...
Unhandled exception: unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCanonicalizeEx called in 32-bit code (0x7b43cfbc).
```
msg370185 - (view) Author: Robin (clanmills) Date: 2020-05-28 10:20
I've reported this to the wine team:
https://bugs.winehq.org/show_bug.cgi?id=49271
msg370186 - (view) Author: Rémi Lapeyre (remi.lapeyre) * Date: 2020-05-28 10:23
Hi Robin, it looks like you are trying to run Python for Windows on Linux using Wine but that it's not supported by Wine.

Why would this be a bug in the CPython interpreter thought? It looks like there is nothing we can do here to fix this right?
msg370191 - (view) Author: Robin (clanmills) Date: 2020-05-28 11:21
Thanks for such a rapid response.  Much appreciated.

I think it's a bug in wine, so I've also reported it to them.  And you both know that you both have it on your radar!

I believe the Win32/API PathCchCanonicalizeEx() is quite new, and that's why it's not in wine-core-magic.  However, python could consider reverting to your earlier code.  And another possibility is to test that PathCchCanonicalizeEx != NULL before calling it.  If it is NULL, then use the "old" code.

https://docs.microsoft.com/en-us/windows/win32/api/pathcch/nf-pathcch-pathcchcanonicalizeex

Let's see what the wine men (and ladies) say!
msg370192 - (view) Author: Robin (clanmills) Date: 2020-05-28 11:29
Good News.  The wine people say "Fixed in wine 4.0".  So, a happy result.

https://bugs.winehq.org/show_bug.cgi?id=49271

We can close this.
msg370193 - (view) Author: Rémi Lapeyre (remi.lapeyre) * Date: 2020-05-28 11:33
Thanks, I think you can close it by setting the Status field to "closed".
History
Date User Action Args
2020-05-28 11:40:52clanmillssetstatus: open -> closed
stage: resolved
2020-05-28 11:33:18remi.lapeyresetmessages: + msg370193
2020-05-28 11:29:27clanmillssetmessages: + msg370192
2020-05-28 11:21:11clanmillssetmessages: + msg370191
2020-05-28 10:23:19remi.lapeyresetnosy: + remi.lapeyre
messages: + msg370186
2020-05-28 10:20:39clanmillssetmessages: + msg370185
2020-05-28 09:46:22clanmillscreate