macOS: dlopen(_rust.abi3.so): symbol not found '_BIO_ADDR_free'
Author: yudukikun5120Created Jul 9, 2026Updated Jul 9, 2026
Summary
When running BabelDOC installed via uv tool, translation fails before any API request is sent.
The error occurs while loading cryptography:
dlopen(.../cryptography/hazmat/bindings/_rust.abi3.so):
symbol not found in flat namespace '_BIO_ADDR_free'openai translate call count: 0, so the failure happens before the translation backend is contacted.
Environment
- OS: macOS 26.5.2 (Build 25F84)
- Architecture: arm64 (Apple Silicon)
- BabelDOC: 0.6.3
- Installation:
uv tool install babeldoc - uv: 0.7.20
- Python: 3.12.8
- cryptography (inside BabelDOC environment): 49.0.0
- OpenSSL inside BabelDOC:
OpenSSL 3.0.11 19 Sep 2023 openssl version:LibreSSL 3.3.6- System Python SSL:
OpenSSL 3.0.15 3 Sep 2024
Command
babeldoc \
--openai \
--openai-model deepseek-chat \
--openai-base-url https://api.deepseek.com/v1 \
--files <input.pdf>The same error occurs before any API request is made.
Expected behavior
Translation should start normally.
Actual behavior
The program exits immediately with:
dlopen(.../cryptography/hazmat/bindings/_rust.abi3.so):
symbol not found in flat namespace '_BIO_ADDR_free'The log also reports:
openai translate call count: 0so no translation request is ever sent.
Full log
I'll attach the complete log if needed.
Source: funstory-ai/BabelDOC