Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
Description
Bug report
Bug description:
Related issues:#123748,#130366,#129043
Problem:
In Python 3.14.0a5, when compiling on macOS Silicon without specifying the--enable-universalsdk
parameter (as there is no need to compile a universal version for x86_64 & arm64), an error "unknown type name 'Lib_IntVector_Intrinsics_vec256'" occurs.
Compilation parameters:
./configure --prefix=/Applications/ServBay/package/python/3.14/3.14.0a5 --enable-ipv6 --enable-loadable-sqlite-extensions --with-openssl=/Applications/ServBay/package/common/openssl/3.2 --enable-optimizations --with-system-expat --with-system-libmpdec --with-readline=editline --with-lto --enable-framework=/Applications/ServBay/package/python/3.14/3.14.0a5
Problem analysis:
The Python team previously released a patch for this issue, but in theconfigure
andconfigure.ac
scripts, the patch uses the$UNIVERSAL_ARCHS
parameter for condition checks. This fix does not completely resolve the issue because$UNIVERSAL_ARCHS
depends on the--enable-universalsdk
parameter being passed. Without this parameter, the initial value of$UNIVERSAL_ARCHS
isUNIVERSAL_ARCHS="32-bit"
, leading to the conditionif test "$UNIVERSAL_ARCHS" != "universal2"; then
not being effective.
Partial configure log:
Python 3.9+ detectedchecking build system type... aarch64-apple-darwin23.5.0checking host system type... aarch64-apple-darwin23.5.0checkingfor Python interpreter freezing... ./_bootstrap_pythoncheckingfor python3.14... nocheckingfor python3.13... nocheckingfor python3.12... python3.12checking Pythonfor regen version... Python 3.12.5checking pkg-config is at least version 0.9.0... yeschecking MACHDEP..."darwin"checkingfor --enable-universalsdk... nocheckingfor --with-universal-archs... nocheckingfor --with-app-store-compliance... not patchingfor app store compliancecheckingfor xcrun... yeschecking macOS SDKROOT... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdkcheckingfor gcc... gccchecking whether the C compiler works... yescheckingfor C compiler default output file name... a.outcheckingfor suffix of executables...checking whether we are cross compiling... nocheckingfor suffix of object files... ochecking whether the compiler supports GNU C... yeschecking whether gcc accepts -g... yescheckingfor gcc option toenable C11 features... none neededchecking how to run the C preprocessor... gcc -Echeckingfor grep that handles long lines and -e... /usr/bin/grepcheckingfor a sed that does not truncate output... /usr/bin/sedcheckingfor egrep... /usr/bin/grep -Echeckingfor CC compiler name... clang// blablabla
Repair solution:
In theconfigure
andconfigure.ac
scripts, it is necessary to use other conditions for checks instead of relying on$UNIVERSAL_ARCHS
.
Attached is a quick fix patch based onbuild_cpu
andbuild_vendor
. However, this is not the most appropriate solution.
https://github.com/user-attachments/files/18921691/fixed-hacl-arm64.patch
CPython versions tested on:
3.14
Operating systems tested on:
macOS