-
Notifications
You must be signed in to change notification settings - Fork 14
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
Update to v3.11.5 #153
Update to v3.11.5 #153
Conversation
Co-authored-by: Алексей <[email protected]> Co-authored-by: lovetox <[email protected]>
Co-authored-by: Naveen M K <[email protected]> Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
This is used throughout the Python code but is not defined when compiling with Mingw-w64 compilers, so define it. Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Largefile is supported on Windows. Co-authored-by: Naveen M K <[email protected]> Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Co-authored-by: Naveen M K <[email protected]>
Also, build `nt` module instead of `posix` when compiling with MINGW. Co-authored-by: Naveen M K <[email protected]> Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Co-authored-by: Алексей <[email protected]>
Co-authored-by: Naveen M K <[email protected]>
Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]>
`ws2_32` is required when building that module
Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]>
This is the case used in MINGW Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]>
Co-authored-by: Алексей <[email protected]> Co-authored-by: Christoph Reiter <[email protected]> Co-authored-by: cat <[email protected]> Co-authored-by: Naveen M K <[email protected]>
Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]>
Co-authored-by: Алексей <[email protected]>
they are guarded by dlopen being present, but if module loading is enabled is more correct.
this is required for venv to work properly
they don't seems to handle `/` as path separator correctly
- Use function available in original msvcrt.dll _wdupenv_s -> _wgetenv_s fread_s -> fread - Add a test for checking the new launchers
also, fix finding prefix when in a venv
…5822) Use a raw f-string in test_httpservers.py
Instead of just calling normpath in abspath just call normpath on all the config results. This makes sure we don't change getpath.py too much and still cover all outputs. This fixes sys.exec_prefix not matching sys.prefix, see #142
this gets added as first element in sys.path. use normpath to make sure it uses the right path separator
This is the default behavior on upstream Python. We previously reverted this behavior because it broke some use cases. The old behavior can be restored by setting the environment variable PYTHONLEGACYWINDOWSDLLLOADING to 1. Fixes #48 Also fixes #141 Signed-off-by: Naveen M K <[email protected]>
…gets In cpython-mingw-3.10, this was part of a patch named "allow static tcltk". Co-authored-by: Алексей <[email protected]>
This provides the limited ABI as a separate DLL, forwarding to the real one. This makes linking with "-lpython3" work. Fixes #147
This fails because it tries to link to the system/msys2 provided libpython3.11 and 3.11.5 added new exported symbols which the internal extension modules need. So there is problem with the link directory search order when building extensions which this release uncovered. |
so setup.py (add_dir_to_list) considers only relative paths as local build paths, but relative paths don't work with different drives on Windows. fun |
941da4a
to
b21c15b
Compare
Looks like we hit python#107219 |
…extensions For some reason the code assumes that relative paths are build paths prepends the system dirs after relative paths in the existing list. We only uses absolute paths though, and I don't understand why it even tries to do that. So just append the system dirs instead. This fixes the build trying to link against the system Python DLL in case it happens to be installed.
See python#107219 Once that is fixed this commit can be removed. This is a commit and not just an addition to the skip list, since we still run the skipped tests in CI and in this case everything would hang.
08d4259
to
4df3c29
Compare
@lazka shouldn't this have a 'lib' prefix? cpython-mingw/Python/dynload_win.c Line 132 in cce6ba9
and this one too; cpython-mingw/Python/dynload_win.c Line 322 in cce6ba9
|
Good catch thanks. Since this doesn't seem to be something new I've created #154 |
range diff:
1: 4eb73df = 1: 61a4f35 sysconfig: make _sysconfigdata.py relocatable
2: 05c9259 ! 2: 3dca801 build: add --with-nt-threads and make it default on mingw
3: e3dde16 = 3: caf9902 Define
MS_WINDOWS
(and others) when compiling with MINGW4: c6fd2e3 = 4: 2305aaa configure: add
MACHDEP
andplatform
on MINGW5: 75adb15 = 5: 2418cff Add default configuration for MINGW
6: 7e18010 = 6: 8389614 configure: enable largefile support by default for Mingw
7: 0a64353 = 7: 02755c9 Add
PC/
toCPPFLAGS
and toSRCDIRS
on Mingw8: 30061bb = 8: b971ecc posixmodule.c: Define necessary headers for compiling on MINGW
9: 9092f75 = 9: 203d18e Build winreg by default when compiling for MINGW
10: dcb42c9 = 10: 901a082 pyport.h: Add support for MINGW
11: b738276 = 11: 930a5ec configure: add options so that shared build is possible on MINGW
12: 8911010 = 12: 125c9ee Add dynamic loading support for MINGW
13: 873c2d0 = 13: 3985966 Ignore main program for frozen scripts on MINGW
14: 042a098 = 14: 43bbdbf Add missing library for multiprocessing module
15: a6641c6 = 15: e85c2f9 selectmodule: add support for MINGW
16: c9ed19b = 16: a96e9c7 setup.py: add libraries to fix compile of ctypes on MINGW
17: 1e7b24a = 17: f3aa6d1 Detect winsock2 and setup _socket module on MINGW
18: a1dcbd3 = 18: 6244599 Enable some windows specific modules
19: 849236e = 19: f59a672 sysconfig: MINGW build extensions with GCC
20: a5cb0a2 = 20: e974a9d sysconfig: treat MINGW builds as POSIX builds
21: 55ae2b2 = 21: 17a8ef3 Add support for stdcall without underscore
22: 6ff22ae = 22: dfda95f Use replace instead rename to avoid failure on windows
23: 94d2c46 = 23: a086a11 Customize site for MINGW
24: 680d700 = 24: 5d08426 add python config sh
25: 697cc7d = 25: eb1c2b5 setup.py: add export_symbols to fix compile of ctypes
26: 5512707 = 26: b300847 mingw: prefer unix sep if MSYSTEM environment variable
27: c0d057f = 27: 3164be7 msys cygwin semi native build sysconfig
28: 3428663 = 28: f5327a2 sysconfig: mingw sysconfig like posix
29: 74009c9 = 29: 6c0c4ac cross dont add multiarch paths if cross compiling
30: 42490eb = 30: 7a53676 mingw use backslashes in compileall py
31: a381e9f = 31: 08044df msys convert_path fix and root hack
32: 7223f88 = 32: 555d752 mingw pdcurses_ISPAD
33: 677b45e = 33: 29d805b msys monkeypatch os system via sh exe
34: 1fc32af = 34: 6d8376b msys replace slashes used in io redirection
35: c588330 = 35: f4588e9 remove_path_max.default
36: d236925 = 36: 3899109 dont link with gettext
37: 35c395a = 37: c7be96b ctypes python dll
38: 628f7de = 38: fc0ffcc gdbm module includes
39: f8e20bc = 39: 42b7985 use gnu_printf in format
40: 973e8bf = 40: 675f918 mingw fix ssl dont use enum_certificates
41: 7af446f = 41: 6879a9b fix using dllhandle and winver mingw
42: f74deea = 42: ed46794 Add AMD64 to sys config so msvccompiler get_build_version works
43: f7354b8 = 43: cb95b22 MINGW link with additional library
44: 6f946fc = 44: a9292ad install msilib
45: 42ef875 = 45: 8849097 fix signal module build
46: 913f59d = 46: dbdcdc6 build: build winconsoleio and _testconsole
47: ee94128 = 47: 6fbb7d5 expose sem_unlink
48: 6a8ab73 = 48: 6686393 cygpty isatty
49: 641358d = 49: b67ad50 disable broken gdbm module
50: 24a09da = 50: f834541 build: link win resource files and build pythonw
51: 6fbf512 = 51: d93200e disable readline
52: 18f02d8 = 52: 39402ca fix isselectable
53: ebe203e = 53: f714542 _xxsubinterpretersmodule
54: ccb718b = 54: 3e21c4c configure.ac: fix inet_pton check
55: fdad116 = 55: 0163f82 set venv activate path unix
56: 92bc43b = 56: 9edf05a pass gen profile ldflags
57: 975b823 = 57: b3c221a pkg config windows must link ext with python lib
58: 4a3948e = 58: 31a2f00 importlib bootstrap path sep
59: 850deab = 59: 94f97dd pathlib path sep
60: 7d8565e = 60: b1b8320 warnings fixes
61: 3970d87 = 61: c81d6ee fix build testinternalcapi
62: eca928e = 62: ec3cd5e extend MS_WINDOWS flag
63: 50c4354 = 63: 5ab35cc clang arm64
64: da6930f = 64: d25b6dd configure.ac: set MINGW stack reserve
65: 778dd04 = 65: 389e4cc Don't use os.pathsep to find EOF not all distributions in win32 have them as \ instead check using sys.platform
66: ac7de03 = 66: 88f7241 Fix extension suffix for c-extensions on mingw
67: 7b1cd02 = 67: ea83317 Change the
get_platform()
method in sysconfig68: aac2cf7 = 68: aebe861 distutils: compiler customize mingw cygwin compilers
69: 7c42997 = 69: 923a3c5 distutils: compiler enable new dtags
70: 48275e5 = 70: 7476962 distutils: MINGW build extensions with GCC
71: 27b9036 = 71: 7060026 distutils: use Mingw32CCompiler as default compiler for m
72: c1e8341 = 72: 77438d9 distutils: find import library
73: 3885b75 = 73: e0f7adc distutils: avoid circular dependency from time module dur
74: a136fcb = 74: 7a8eda8 distutils: generalization of posix build in distutils sys
75: 705aa83 = 75: ec0bd2b distutils: mingw sysconfig like posix
76: c2e9af5 = 76: 2f7362b distutils: get_versions() fixes
77: 5e82de4 = 77: 574b385 distutils: install layout as posix
78: c65ce77 = 78: 53a5591 distutils: msys convert_path fix and root hack
79: 4c02918 = 79: fd6bbfe distutils: mingw build optimized ext
80: 1247659 = 80: 4f1c118 distutils: cygwinccompiler dont strip modules if pydebug
81: 5004fa3 = 81: e32105b distutils: get compilers from env vars
82: 6cd9dca = 82: 8936254 distutils: add windmc to cygwinccompiler
83: 812e7ee = 83: bbefe06 distutils: fix msvc9 import
84: 9dba083 = 84: 2701ed6 distutils: mingw add LIBPL to library dirs
85: bac123a = 85: d66edd9 distutils: Change the
get_platform()
method in distutils to match sysconfig86: a27e104 = 86: e1b2793 build: Fix ncursesw include lookup
87: 1882399 = 87: b77a578 tests: fix test_bytes
88: 5f7873a = 88: e178448 time: fix strftime not raising for invalid year values
89: 6512996 = 89: bc92836 ctypes: find_library('c') should return None with ucrt
90: cf9c2f6 ! 90: d7f917a build: Disable checks for dlopen/dlfcn
91: d73987c = 91: 4daeb4d Fix install location of the import library
92: c39debd = 92: c6ef700 Set MSYS2_ARG_CONV_EXCL for the shared Python module install
93: c05834e = 93: d1d9c27 build: Integrate venvlauncher build/installation into the Makefile
94: 0f91d7c = 94: 70f172b configure.ac: set WIN32_WINNT version
95: fdd0d90 = 95: 184e0da configure.ac: don't check for clock functions
96: c94b7ab = 96: 4c83626 expanduser: normpath paths coming from env vars
97: 106a923 = 97: c04f4f7 CI: test the build and add some mingw specific tests
98: 35badf7 = 98: 1453f7b Prefer sysconfig.python_build
99: 7e6146f = 99: 5b37559 Define PY3_DLLNAME to fix build
100: 075b6df = 100: 8675fbb distutils: remove checks for ancient gcc/binutils
101: 93e0902 = 101: 9299277 distutils: split CC env var before passing to subprocess
102: 6e4161f = 102: be15db6 _testconsole.c: Fix casing & path sep
103: 7ba998f = 103: 173b17f Return consistent architecture markers for python on mingw/armv7
104: e073bed = 104: a197f1d distutils: add back gcc_version
105: 1788516 = 105: 3972f70 fix mingw cross compiling in setup.py
106: 5bdfadf = 106: 716cb91 handle ncursesw pkg-config when cross-compiling
107: d34deb3 = 107: 1d99821 mingw_smoketests: fix _UCRT condition
108: 6d632dd = 108: e634147 Modify
sys.winver
to match upstream109: 781595f = 109: afa915e Change user site-packages path to include the environment info
110: 496b5ed = 110: bd566c9 configure: Include a header in the check for _beginthread
111: 00a377e = 111: 9a7dd38 configure.ac: Default to --without-c-locale-coercion on Windows
112: 7d483ba = 112: c2815c4 Fix failing tests
113: cf8362d = 113: 1a17213 distutils: add build root to libdirs when building uninstalled
114: b452419 = 114: 6d4f179 Don't change os.sep with an empty MSYSTEM env var, not just a missing one
115: 613582b = 115: aeb90ec def VPATH when compiling
Python/sysmodule.c
116: d1d933b = 116: f1c2d47 Make
_Py_CheckPython3
extern117: b61f8d8 = 117: 304647a link with bcrypt
118: 3c12e44 = 118: eebcc8a correctly find native python
119: 34824c9 = 119: fcb4948 Add extra flags for
_bootstrap_python
120: 3973987 = 120: c729b08 posixmodule: undefine
HAVE_OPENDIR
121: 401f138 ! 121: fb38f76 getpath.py: add support for mingw
122: 321f6a2 = 122: f18b577 Don't build _posixsubprocess on Windows.
123: 7d0c96a = 123: 69d27f4
_ssl
: link withws2_32
124: 780e392 = 124: e9267ce Fix building
_socket
module125: 9769e0c = 125: 7c79e92 Always normalize path in abspath
126: 452b0ce = 126: dbdb325 Include
winsock.h
when checking for netdb function127: 4262bc1 = 127: 54fb9d1 include
_multiprocessing/semaphore.c
on win32128: d415780 = 128: 551af83 configure: build
mmap
module on win32129: f6f6352 = 129: 2b93c58 venv creation fixes
130: 4c149ca = 130: 7bfeffb move the
shutdown
function wherewinsock.h
is included131: 8ceadd0 = 131: 3a239a4 configure.ac: set BUILDEXEEXT and EXEEXT
132: c8b3428 = 132: e912e47 configure.ac: fix building some test modules
133: 477f7b3 = 133: 7344544 Don't convert
sysconfig.get_config_var('VPATH')
to an absolute path134: 3b7cbbf = 134: c9bed99 Always convert
/
to\\
before passing though pathcch functions135: d27d14e = 135: 4550ea0 Build venvlauncher.exe from PC/launcher.c
136: c378a24 = 136: 9f0c334 getpath.py: fix
dirname
137: 920c434 = 137: 1abab23 pythongh-105821: Use a raw f-string in test_httpservers.py (python#105822)
138: 19d313b = 138: c7900e4 getpath: use normpath on all generated paths
139: 11f8b59 = 139: 16d784e pathconfig: normpath sys.path[0]
140: a2f2087 = 140: c15ee55 smoketests: add some tests for sys/site paths
141: 2b2d1a5 = 141: ddb8e9f Search DLLs only on paths added using
add_dll_directory()
.142: 95b1546 = 142: 1716f39 Allow picking up include/lib dirs from CFLAGS/LDFLAGS for Windows targets
143: 8aeb46d = 143: 05b95c2 Build and install libpython3.dll
-: ----------- > 144: 5e5fab0 setup.py: don't prepend the system library directories when building extensions
-: ----------- > 145: 4df3c29 tests: skip a broken test