blob: 1ecbba7266d23cdc4c30d3529d938df0ce5c3fb1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
instruction: 0.742
runtime: 0.151
syscall: 0.107
qemu-aarch64 cannot properly support some python functions from the `time` module
Description of problem:
When a function is run in python (for example, `time.time()`), python returns the following error:
```
Traceback (most recent call last):
File "<string>", line 1, in <module>
OSError: [Errno 0] Error
```
I am absolutely sure that this problem is related to `qemu-aarch64`, because the same python build works perfectly in aarch64 machine. In addition, python for arm architecture with `qemu-arm` does not have such a problem.
Steps to reproduce:
Note, this instruction specifies the stage of installation of that very python. But since it is compiled for Termux, you will have to use some scripts.
1. Create a simple codespace environment.
2. Run the following commands through the terminal:
```
git clone https://github.com/termux-pacman/glibc-packages
cd glibc-packages
./get-build-package.sh
sudo mkdir /data
sudo chown codespace /data
sudo chgrp codespace /data
sudo apt update
sudo apt install patchelf
./scripts/setup-cgct.sh
```
3. Run the following command. Note that the installation phase will start there. You should stop the script when the installation phase is complete.
```
./build-package.sh -I -w --library glibc gpkg/gobject-introspection
```
4. Install standard qemu via apt.
5. Run the following command:
```
qemu-aarch64 /data/data/com.termux/files/usr/glibc/bin/python3.12 -c "import time; time.time()"
```
Additional information:
- For some reason this error only occurs in the environment from GitHub. On my computer this error does not occur.
- Here is a log of one of the github actions, which shows an attempt to compile packages with python on different architectures - https://github.com/termux-pacman/glibc-packages/actions/runs/11023254502.
For reference, I use qemu for more flexible compilation of packages. And in github actions, qemu is installed here - https://github.com/termux-pacman/glibc-packages/blob/main/.github/workflows/build.yml#L35.
|