[Bug 42474] Python 3.6 needs function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Apr 27 14:21:25 CDT 2017


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

--- Comment #16 from Sebastian Ernst <ernst at pleiszenburg.de> ---
Relaying this from Eryk Sun in the Python bug tracker: "PathCchCombineEx isn't
an import dependency. It's used dynamically via LoadLibraryW and
GetProcAddress, with a fallback to PathCombineW. Does Wine maybe have a stub
for this function that returns E_NOTIMPL (not implemented)?"

I looked at the code to understand what he says:
https://github.com/python/cpython/blob/3.6/PC/getpathp.c#L219
Lines 219 to 242 is really where all the relevant stuff happens. Python tries
to get the address of PathCchCombineEx. If that fails, it falls back to
PathCombineW. 

My understanding is that Wine even if it is set to Windows Vista or 7 returns
an address for PathCchCombineEx which does not allow Python to fall back to
PathCombineW. If PathCchCombineEx just was not there (in Windows Vista and 7
settings) or would return E_NOTIMPL, it might allow Python 3.6 to work
(assuming a working implementation of PathCombineW).

Btw, Python 3.5 was using its own logic at this point:
https://github.com/python/cpython/blob/3.5/PC/getpathp.c#L167

Does this information allow you to fix this issue?

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list