| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…ple in the filename This permits stable ABI extensions for multiple architectures to be co-installed into the same directory, without clashing with each other, the same way (non-stable ABI) regular extensions can. It is listed below the current .abi3 suffix because setuptools will select the first suffix containing .abi3, as the target filename. We do this to protect older Python versions predating this patch.
…uple in the filename This permits `abi3` stable ABI extensions for multiple architectures to be co-installed into the same directory, without clashing with each other, the same way (non-stable ABI) regular extensions can. It is listed before the current .abi3 suffix because .abi3 extensions are only compatible with future Python releases, not older versions. This follows on from python#122917 which was reduced down to just targetting `abi3t`
Documentation build overview144 files changed · + 3 added · ± 141 modified + Added ± Modified |
Sorry, something went wrong.
|
The SC agreed to add the arch-specific abi3t .so filename. .abi3t.so should always be there. I'll update & merge this PR. |
Sorry, something went wrong.
Add ALT_SOABI and SOABI_PLATFORM to test.pythoninfo. Add also EXTENSION_SUFFIXES of importlib.machinery.
|
This was previously a commit following on from #122917. There has been some movement in there since this was filed. Cherry-picked those commits for here. |
Sorry, something went wrong.
|
This change adds the following strings to importlib.machinery.EXTENSION_SUFFIXES on a regular build:
On Free Threading, it adds the following string to importlib.machinery.EXTENSION_SUFFIXES:
For example, no new string is added on these platforms:
On the PR gh-122917, @stefanor wrote that the change only impacts Linux. But it does impact other platforms: Emscripten, macOS and WASI for example. Is it expected/useful to use these new suffixes on Emscripten/WASI? For example, use .abi3-wasm32-emscripten.so suffix instead of .abi3.so. On macOS, we support Intel and AArch64 architectures but SOABI_PLATFORM is just darwin (without the architecture). Is it expected to omit the architecture from the extension suffix (just darwin in .abi3-darwin.so and .abi3t-darwin.so)? Does it mean that a FAT binary should be produced with multiple architectures? The cryptography uses the stable ABI. On PyPI, I can only see download files for ARM64 on macOS: https://pypi.org/project/cryptography/#files. |
Sorry, something went wrong.
So, I primarily care about Linux here, that's where the pain is. And that's probably the platform where working with multiple architectures is the most common. To me the addition makes sense and is potentially useful on all of those platforms (FreeBSD and Windows too). But figuring out the details for this all would probably take some time. We could restrict it to Linux only to get this merged now. Fat binaries are common on macOS, but you'd only build one at a time, and combine them into a fat binary. |
Sorry, something went wrong.
Maybe we're overthinking this. These platforms already have the additional .so extension suffix, we're just doing the same for abi3 and abi3t. |
Sorry, something went wrong.
Currently, we don't support the "platform triplet" on FreeBSD (same on OpenBSD or NetBSD). The PLATFORM_TRIPLET variable in configure.ac is set by: AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
if $CPP $CPPFLAGS $srcdir/Misc/platform_triplet.c >conftest.out 2>/dev/null; then
PLATFORM_TRIPLET=`grep '^PLATFORM_TRIPLET=' conftest.out | tr -d ' '`
PLATFORM_TRIPLET="${PLATFORM_TRIPLET@%:@PLATFORM_TRIPLET=}"
AC_MSG_RESULT([$PLATFORM_TRIPLET])
else
AC_MSG_RESULT([none])
fi
rm -f conftest.out
But on FreeBSD, Misc/platform_triplet.c fails to compile: vstinner@freebsd$ cc -E Misc/platform_triplet.c | grep '^PLATFORM_TRIPLET=' | tr -d ' '
Misc/platform_triplet.c:289:3: error: unknown platform triplet
289 | # error unknown platform triplet
| ^
1 error generated.
Maybe we should explore the ./config.guess option: vstinner@freebsd$ ./config.guess x86_64-unknown-freebsd15.0 The commit d3899c1 of issue gh-67169 in 2015 introduced PLATFORM_TRIPLET variable and modified SOABI to use it. The change is part of Python 3.5. Result of import sysconfig; sysconfig.get_config_var('SOABI'):
|
Sorry, something went wrong.
|
Since the point of the feature is to have different .so names for different platforms, i think:
|
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @encukou for commit 0ebab06 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F152461%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
|
test_curses fails on RHEL8 buildbot workers, but these workers should only be run on Python 3.12 and older. Example: https://github.com/python/buildmaster-config/blob/519dfd6b9757ab889d32677b71c074c5ccc2096c/master/custom/workers.py#L115. |
Sorry, something went wrong.
|
!buildbot FreeBSD14 |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @encukou for commit e59ddbc 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F152461%2Fmerge The command will test the builders whose names match following regular expression: FreeBSD14 The builders matched are:
|
Sorry, something went wrong.
|
Let's get it in then. |
Sorry, something went wrong.
|
GH-154772 is a backport of this pull request to the 3.15 branch. |
Sorry, something went wrong.
…arch tuple in the filename (GH-152461) (GH-154772) This permits stable ABI extensions for multiple architectures to be co-installed into the same directory, without clashing with each other, the same way (non-stable ABI) regular extensions can. It is listed before the current platform-less suffixes since it's more specific. The platform is stored in a new pyconfig.h define & sysconfig variable, SOABI_PLATFORM. On some known architectures (FreeBSD, Windows), this will be undefined/zero; these won't have the new tag (yet). Add SOABI_PLATFORM & ALT_SOABI the info to `make pythoninfo` as well. (cherry picked from commit 7961bbf) Co-authored-by: Stefano Rivera <stefano@rivera.za.net> Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
…rch tuple in the filename (pythonGH-152461) This permits stable ABI extensions for multiple architectures to be co-installed into the same directory, without clashing with each other, the same way (non-stable ABI) regular extensions can. It is listed before the current platform-less suffixes since it's more specific. The platform is stored in a new pyconfig.h define & sysconfig variable, SOABI_PLATFORM. On some known architectures (FreeBSD, Windows), this will be undefined/zero; these won't have the new tag (yet). Add SOABI_PLATFORM & ALT_SOABI the info to `make pythoninfo` as well. Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
| Back | FazBrowse Home | New Git URL |
This permits abi3 stable ABI extensions for multiple architectures to be co-installed into the same directory, without clashing with each other, the same way (non-stable ABI) regular extensions can.
It is listed before the current .abi3 suffix because .abi3 extensions are only compatible with future Python releases, not older versions.
This follows on from #122917 which was reduced down to just targetting abi3t