python-build-standalone icon indicating copy to clipboard operation
python-build-standalone copied to clipboard

Python 3.11+ distributions on Windows incorrectly refer to libcrypto-1_1.dll and libssl-1_1.dll from PYTHON.json

Open ntamas opened this issue 11 months ago • 3 comments

The Windows builds of Python 3.11 and 3.12 (and maybe 3.13 as well - haven't checked) refer to libcrypto-1_1.dll and libssl-1_1.dll (32-bit) or their 64-bit variants from PYTHON.json, while the install/DLLs folder contains libcrypto-3.dll and libssl-3.dll. I don't know what the best way would be to fix this; one possibility is to replace -1_1 with -3 in all occurrences in CONVERT_TO_BUILTIN_EXTENSIONS of the Windows build script when the target Python version is 3.11 or above, but there might be a better way.

I'll be happy to submit a PR if you let me know how to proceed with this in a way that is acceptable for the maintainers.

ntamas avatar Jan 04 '25 19:01 ntamas

Hm, I'm not super familiar with this part of the code yet but it looks like there are a couple things

  1. We should validate that the shared_depends actually exist, so this can't be wrong in the future?
  2. Instead of shared_depends_$arch we might want to introduce shared_depends_conditional with arch, depends, maximum-python-version, and minimum-python-version fields, similar to elsewhere, e.g.:

https://github.com/astral-sh/python-build-standalone/blob/2b45a4ddfca45f19791a682bc633011709aad660/ci-targets.yaml#L16-L20 https://github.com/astral-sh/python-build-standalone/blob/01cfc3b2dff416f2390cb6d45faa67a384abc644/cpython-unix/extension-modules.yml#L35-L40

Then we can split the definitions per Python version as necessary.

zanieb avatar Jan 04 '25 20:01 zanieb

@pittervib sorry, but that looks AI generated and is wrong in several ways. Please don't do that.

zanieb avatar Jan 20 '25 20:01 zanieb