Repository navigation
ARM Raspbian 3.x fails to build _testcapi extension: undefined symbol: __atomic_fetch_or_8 #109054
Copy link
Copy link
Closed
Description
Activity
Maybe Python should be linked to
-latomic. Old GCC discussions:- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
- "I think we should generally link libatomic with --as-needed by default: https://gcc.gnu.org/legacy-ml/gcc-patches/2013-11/msg02605.html
- Build 4788: 39 tests failed: https://buildbot.python.org/all/#/builders/424/builds/4788 -- this one added pyatomic.h and related _testcapi tests
- Build 4787: test_concurrent_futures.test_shutdown failed: https://buildbot.python.org/all/#/builders/424/builds/4787
I confirm that this regression comes from the commit 2bd960b.
I'm on vacation this week, but I'll have some time to look at this this evening.
Reacted by Gregory P. SmithI never heard about Raspbian before. I was curious about it, so I added
platform.freedesktop_os_release()totest.pythoninfo:-)platform.freedesktop_os_release[ID]: raspbian platform.freedesktop_os_release[NAME]: Raspbian GNU/Linux platform.freedesktop_os_release[VERSION]: 11 (bullseye) platform.freedesktop_os_release[VERSION_CODENAME]: bullseye platform.freedesktop_os_release[VERSION_ID]: 11- added 7 commits that reference this issue
on Sep 7, 2023 From @vstinner's comments and playing with https://gcc.godbolt.org/, it looks like the 8 byte (64-bit) use library support with the default compiler options on this platform. GCC doesn't need the library support if you target
-march=armv7-a(the ARMv7-A and ARMv7-R profiles support theldrexd"double-word" exclusive load).Some random other things that I learned, but are probably not important:
- Raspbian is now called Raspberry Pi OS
- The Raspberry Pi Model B's have used a 64-bit CPUs (armv8-a) since ~2016, but the Raspbian/Raspberry Pi OS was 32-bit only until 2022 and it seems like 32-bit OS is still the most commonly used
19 remaining items
- added 12 commits that reference this issue
on Sep 10, 2023
Metadata
Metadata
Assignees
Labels
No labels
I supposed that the build error is related to
Modules/_testcapi/pyatomic.candInclude/cpython/pyatomic.h."Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware."
Buildbot worker says: "Raspberry Pi 4 B running Raspbian (Bullseye 11.x)."
test.pythoninfo:
-fno-strict-overflow -DNDEBUG -g -O3 -Wall -UNDEBUG-std=c11 -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal-fno-strict-overflow -DNDEBUG -g -O3 -Wall -UNDEBUG -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./IncludeLogs:
logs: https://buildbot.python.org/all/#/builders/424/builds/4849
cc @colesbury @gpshead
Linked PRs