MagicStack / MagicStack/asyncpg
v0.31.0: Undefined symbol "call_once" on FreeBSD 15
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.1k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
first things first: thanks for the great software!
my issue:
installed under python 3.12 via pip on FreeBSD 15.1-p1:
```...
Collecting asyncpg==0.31.0
Using cached asyncpg-0.31.0-cp312-cp312-freebsd_15_1_release_p1_amd64.whl
Installing collected packages: asyncpg
...
```
results in this:
```...
import asyncpg
File "/usr/home/l9/py312/lib/python3.12/site-packages/asyncpg/__init__.py", line 9, in
from .connection import connect, Connection # NOQA
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/home/l9/py312/lib/python3.12/site-packages/asyncpg/connection.py", line 25, in
from . import connect_utils
File "/usr/home/l9/py312/lib/python3.12/site-packages/asyncpg/connect_utils.py", line 33, in
from . import protocol
File "/usr/home/l9/py312/lib/python3.12/site-packages/asyncpg/protocol/__init__.py", line 11, in
from .protocol import Protocol, NO_TIMEOUT, BUILTIN_TYPE_NAME_MAP
ImportError: /usr/home/l9/py312/lib/python3.12/site-packages/asyncpg/protocol/protocol.cpython-312.so: Undefined symbol "call_once"
```
```% ldd python3.12/site-packages/asyncpg/protocol/protocol.cpython-312.so
python3.12/site-packages/asyncpg/protocol/protocol.cpython-312.so:
libthr.so.3 => /lib/libthr.so.3 (0x103df0c5a000)
libc.so.7 => /lib/libc.so.7 (0x103df255f000)
libsys.so.7 => /lib/libsys.so.7 (0x103df2bb6000)
```
None of the three libs contains the `call_once` symbol.
Some link error / missconfiguration?!
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
Reproduce the Python 3.12 import failure on FreeBSD 15.1-p1 and inspect asyncpg/protocol/protocol.cpython-312.so with ldd, following the imports through asyncpg/__init__.py, connection.py, and connect_utils.py. Trace why call_once is unresolved in the packaged wheel, then verify that a corrected FreeBSD installation imports successfully and retains the existing platform coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- postgresql, python
- Domain
- build-system, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100