Skip to content

Bug Report / Feature Request: Intel DMG crashes on Apple Silicon (OpenSSL path error) — DeepSeek ARM64 Build Guide Attached #8

Description

@Bitcoin-Saver

Describe the problem

The pre‑built ElectrumSVP-0.1.0.dmg (Intel/x86_64) fails to launch on Apple Silicon Macs (M1/M2/M3) with a critical OpenSSL library error.

When attempting to run the application from the terminal, the following traceback occurs:

Traceback (most recent call last):
  File "/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/ElectrumSV.py", line 11, in <module>
    from electrumsv.main_entrypoint import main
  File "/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/../usr/lib/python3.9/site-packages/electrumsv/main_entrypoint.py", line 3, in <module>
    from electrumsv.platform import platform
  File "/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/../usr/lib/python3.9/site-packages/electrumsv/platform.py", line 30, in <module>
    from electrumsv.i18n import _
  File "/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/../usr/lib/python3.9/site-packages/electrumsv/i18n.py", line 27, in <module>
    from .util import resource_path
  File "/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/../usr/lib/python3.9/site-packages/electrumsv/util/__init__.py", line 32, in <module>
    import ssl
  File "/Applications/ElectrumSVP-0.1.0.app/Contents/usr/lib/python3.9/ssl.py", line 99, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: dlopen(/Applications/ElectrumSVP-0.1.0.app/Contents/usr/lib/python3.9/lib-dynload/_ssl.cpython-39-darwin.so, 0x0002): Library not loaded: /usr/local/opt/openssl@3/lib/libssl.3.dylib
  Referenced from: <003F1249-331D-31B9-80A3-682168BFBD37> /Applications/ElectrumSVP-0.1.0.app/Contents/usr/lib/python3.9/lib-dynload/_ssl.cpython-39-darwin.so
  Reason: tried: '/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/../Frameworks/libssl.3.dylib' (no such file), '/Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/../usr/lib/libssl.3.dylib' (no such file), '/usr/local/opt/openssl@3/lib/libssl.3.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/openssl@3/lib/libssl.3.dylib' (no such file), '/usr/local/opt/openssl@3/lib/libssl.3.dylib' (no such file), '/usr/local/lib/libssl.3.dylib' (no such file), '/usr/lib/libssl.3.dylib' (no such file, not in dyld cache)

Root cause: The bundled _ssl.cpython-39-darwin.so module has a hardcoded dependency on /usr/local/opt/openssl@3/lib/libssl.3.dylib. That path is correct for Intel Homebrew, but on Apple Silicon Homebrew installs to /opt/homebrew/opt/openssl@3/lib/. Because the .app does not bundle OpenSSL internally, the dynamic linker fails to resolve the dependency.

This means that out‑of‑the‑box, ElectrumSVP v0.1.0 is non‑functional on Apple Silicon unless the user manually creates symbolic links or patches the binary — an advanced workaround that is not reasonable for non‑technical users.

To Reproduce

  1. Download ElectrumSVP-0.1.0.dmg from the official releases page.
  2. Drag ElectrumSVP.app to the /Applications folder.
  3. Open Terminal and run:
    /Applications/ElectrumSVP-0.1.0.app/Contents/MacOS/ElectrumSV
  4. Observe the ImportError: Library not loaded error as shown above.

Expected behavior

  • The application should launch without errors on a clean macOS installation.
  • Ideally, a native ARM64 (Apple Silicon) build should be provided, which would run without Rosetta and with correct, dynamically linked Homebrew paths.
  • At minimum, the Intel build should bundle its own OpenSSL libraries or use @executable_path‑relative linking to avoid hardcoded absolute paths.

Desktop

  • ElectrumSV version: v0.1.0 (ElectrumSVP)
  • OS: macOS 15.7.7
  • Architecture: Apple M1 (ARM64)
  • Homebrew prefix: /opt/homebrew (standard for Apple Silicon)

Additional context

A verified solution already exists

I have successfully compiled ElectrumSVP natively on Apple Silicon (ARM64) from source. The build process is fully documented, beginner‑friendly, and addresses every dependency pitfall (including correct OpenSSL linking).

Full, verified step‑by‑step guide:
👉 https://chat.deepseek.com/share/y1kmefmmgtbtj3b8wu

That guide:

  • Uses pyenv to build Python 3.9.16 with proper OpenSSL 3 and SQLite flags.
  • Creates an isolated virtual environment.
  • Installs all Python dependencies cleanly.
  • Results in a fully functional, Rosetta‑free wallet that launches via the electrum-sv command.

What I am requesting

  1. Immediate improvement: Consider adding the build guide to your README.md or a new docs/BUILD_MACOS.md file so that Apple Silicon users can build the app themselves until an official binary is available.
  2. Long‑term solution: Use the steps in the guide (or a CI pipeline based on them) to produce and distribute an official, signed, and notarized ElectrumSVP-0.1.0-arm64.dmg for all future releases. This would:
    • Eliminate the OpenSSL path bug permanently.
    • Improve performance by removing the Rosetta translation layer.
    • Increase adoption among the growing number of Apple Silicon users.

Thank you for maintaining ElectrumSVP!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions