Skip to content
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

Python 3.12 cannon install on arch linux, please advise: "/usr/include/asm/sigcontext.h:77:2: error: unknown type name '__uint128_t'" #2950

Open
c172jeff opened this issue Apr 28, 2024 · 9 comments
Labels
need-feedback third-party the problem is in third-party software

Comments

@c172jeff
Copy link

Hello,
On my Arch Linux ARM/Raspberry Pi installation, I cannot install Python 3.12. I have the attached error.
I run the command pyenv install 3.12 at my command prompt.

I am using pyenv version 2.4.0
I am using gcc (GCC) 5.3.0

Please advise, Jeff


pyenv install 3.12
Downloading Python-3.12.3.tar.xz...
-> https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tar.xz
Installing Python-3.12.3...

BUILD FAILED (Arch Linux ARM using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20240428153332.2150
Results logged to /tmp/python-build.20240428153332.2150.log

Last 10 log lines:
In file included from /usr/include/bits/sigcontext.h:30:0,
from /usr/include/signal.h:287,
from ./Include/internal/pycore_faulthandler.h:12,
from ./Include/internal/pycore_runtime.h:15,
from Parser/action_helpers.c:6:
/usr/include/asm/sigcontext.h:77:2: error: unknown type name '__uint128_t'
__uint128_t vregs[32];
^
Makefile:2731: recipe for target 'Parser/action_helpers.o' failed
make: *** [Parser/action_helpers.o] Error 1

@native-api
Copy link
Member

Please add the necessary diagnostic information as per the issue template.

@c172jeff
Copy link
Author

PythonError.zip

Here is a zip of some log files on another install attempt

@native-api
Copy link
Member

Is your platform 32-bit or 64-bit? It's detected as 32-bit ARM (gnueabihf) but a standard header tries to use a 128-bit type which are only available for 64-bit targets.
Looking at config.log, you have some FLAGS envvars set (e.g. MULTIARCH_CPPFLAGS) -- try unsetting those for starters.

@native-api native-api changed the title Python 3.12 cannon install on arch linux, please advise Python 3.12 cannon install on arch linux, please advise: "/usr/include/asm/sigcontext.h:77:2: error: unknown type name '__uint128_t'" Apr 28, 2024
@c172jeff
Copy link
Author

c172jeff commented Apr 28, 2024 via email

@c172jeff
Copy link
Author

How can I try my install again by unsetting the MULTIARCH_CPPFLAGS flag? I just did a simple install using

pyenv install 3.12

I don't see an option to unset a a flag when running pyenv?

@native-api
Copy link
Member

PRi 4 is 64-bit. But that page suggests that they make the same image for RPi 2,3 and 4 -- which means that the OS is 32-bit.

Then the standard header should not be using a 128-bit bit type.
You can look at the header to try to figure out why that happens (that line is probably controlled by a flag), or contact the firmware's vendor for support.

@native-api
Copy link
Member

How can I try my install again by unsetting the MULTIARCH_CPPFLAGS flag? I just did a simple install using

pyenv install 3.12

I don't see an option to unset a a flag when running pyenv?

unset it in your shell, or find the place in shell startup files where it's set and comment it out.
But if the OS is 32-bit, that flag is probably not the culprit since you do want to build for 32-bit ARM.

@c172jeff
Copy link
Author

I am not sure how to proceed. The header, /usr/include/asm/sigcontext.h, looks like it is made for a 64 bit version.

So, I understand the problem to be my installation of GCC? Is that it?

If it is, that installation of HAMVOIP came in such a way that you burn the whole image. While it works, I wish they would have made a way to install it onto a generic already working pi setup.

@native-api
Copy link
Member

native-api commented Apr 28, 2024

Since I don't know how they made the image or what a correct header should look like (on my machine, it doesn't even exist), I do suggest to contact the vendor for pointers.

All in all, signal.h (of which sigcontext.h is a dependency) seems to be broken on your system: I see this same error in a generic check for that header in config.log.

@native-api native-api added the third-party the problem is in third-party software label Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need-feedback third-party the problem is in third-party software
Projects
None yet
Development

No branches or pull requests

2 participants