MagicStack / MagicStack/uvloop
cannot import name 'Loop' from 'uvloop.loop' on platform armv7l
Nobody has claimed this yet.
- Dominant language
- Cython
- Stars
- 11.9k
- Forks
- 616
- PR merge metrics
- No merged PRs in 30d
Description
uvloop version: 0.19.0
Python version: 3.10.7
Platform: Linux 5.4.61 armv7l GNU/Linux
* **Can you reproduce the bug with `PYTHONASYNCIODEBUG` in env?**:
* **Does uvloop behave differently from vanilla asyncio? How?**:
I tried to cross-compile uvloop and port it to my armv7l platform for use, following the build steps in Readme.txt. The only difference was that I modified the contents of the setup.py due to the fact that it was not clear how to select the arm's configuration items:

-174:cmd = ['./configure']
+174:cmd = ['./configure', '--host=arm-linux-gnueabi']
This did work and successfully cross compiled.The log of the compilation process is given in the attachment.
[MobaXterm_10.3.1.69LeetxServerVM-T113_20241026_151215.txt](https://github.com/user-attachments/files/17529426/MobaXterm_10.3.1.69LeetxServerVM-T113_20241026_151215.txt)
After making && make isntall I checked the format with the readelf -h loop.cpython-310-x86_64-linux-gnu.so directive and it was right.

But after I ported him to armv7l, import uvloop prompts:
**cannot import name 'Loop' from 'uvloop.loop' (/usr/lib/python3.10/site-packages/uvloop/loop.cpython [-310-x86_64-linux-gnu.so)]**
I'm not sure what else in the process might be causing this problem
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with Readme.txt and setup.py, especially the configure command and the generated extension filename, then compare the build architecture with the armv7l runtime and reproduce the import failure. Done means the cross-compiled package imports on armv7l and exposes Loop from uvloop.loop.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, python
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100