-
-
Notifications
You must be signed in to change notification settings - Fork 32.5k
Closed
Labels
OS-unsupportedbuildThe build process and cross-buildThe build process and cross-buildinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
Preface: I'm aware that big-endian ARM is not listed in PEP 11 where it's assumed that binaries are little endian by default.
I wrote an upstream issue to track this as well: microsoft/mimalloc#1046
build log: https://autobuild.buildroot.org/results/26b752738022e8b46e810a08e28d687120e5c4e3/build-end.log
/home/autobuild/autobuild/instance-4/output-1/per-package/python3/host/bin/armeb-buildroot-linux-gnueabi-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Ofast -g2 -D_FORTIFY_SOURCE=1 -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DPy_BUILD_CORE_BUILTIN -c ./Modules/_abc.c -o Modules/_abc.o
In file included from ./Include/internal/mimalloc/mimalloc/types.h:24,
from ./Include/internal/pycore_mimalloc.h:44,
from ./Include/internal/pycore_interp.h:31,
from ./Include/internal/pycore_runtime.h:17,
from ./Include/internal/pycore_emscripten_trampoline.h:4,
from ./Include/internal/pycore_object.h:13,
from ./Modules/_abc.c:8:
./Include/internal/mimalloc/mimalloc/atomic.h:83:20: warning: 'mi_atomic_yield' declared 'static' but never defined [-Wunused-function]
83 | static inline void mi_atomic_yield(void);
| ^~~~~~~~~~~~~~~
This prevents CPython from linking correctly:
/home/autobuild/autobuild/instance-4/output-1/per-package/python3/host/bin/armeb-buildroot-linux-gnueabi-gcc -shared -Wl,--no-as-needed -o libpython3.so -Wl,-hlibpython3.so libpython3.13.so
/home/autobuild/autobuild/instance-4/output-1/per-package/python3/host/bin/armeb-buildroot-linux-gnueabi-gcc -Xlinker -export-dynamic -o python Programs/python.o -L. -lpython3.13 -ldl -lpthread -latomic -lm
/home/autobuild/autobuild/instance-4/output-1/per-package/python3/host/bin/../lib/gcc/armeb-buildroot-linux-gnueabi/13.3.0/../../../../armeb-buildroot-linux-gnueabi/bin/ld: ./libpython3.13.so: undefined reference to `mi_atomic_yield'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:1024: python] Error 1
The quick fix may be as simple as changing the __ARM_ARCH__
-> __ARM_ARCH
macro reference, but I'm waiting on input from upstream
Workarounds: disable mimalloc
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Labels
OS-unsupportedbuildThe build process and cross-buildThe build process and cross-buildinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Projects
Status
Done