id = 2592 title = "qemu-aarch64 cannot properly support some python functions from the `time` module" state = "closed" created_at = "2024-09-25T18:48:54.338Z" closed_at = "2024-09-27T07:59:25.338Z" labels = ["workflow::Needs Info"] url = "https://gitlab.com/qemu-project/qemu/-/issues/2592" host-os = "Ubuntu 20.04.6 LTS (from codespace)" host-arch = "x86_64" qemu-version = "4.2.1 (Debian 1:4.2-3ubuntu6.29)" guest-os = "n/a" guest-arch = "aarch64" description = """When a function is run in python (for example, `time.time()`), python returns the following error: ``` Traceback (most recent call last): File "", line 1, in 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.""" 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 = """- 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."""