apprenticeharper / DeDRM_tools

DeDRM tools for ebooks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[ISSUE] architecture issue when loading plugin into calibre

buchananwp opened this issue · comments

When importing the plugin into calibre, I hit an error (logs below). It appears to be an architecture issue, but I think that might not actually be correct since I indeed do have arm64? The error shows up when I double-click the plugin:

image

CheckList

  • The Title and The Log Title are setted correctly.
  • Clarified about my environment.
  • Code block is used for the log.

Title

My Environment

Calibre: Version 6.29.0

Kindle: Version 10

DeDRM: Version 7.2.1

Macbook pro: Version Apple M1 Max (arm64 architecture)

Log

Calibre log calibre, version 6.29.0 ERROR: Unhandled exception: OSError:dlopen(/usr/local/lib/libcrypto.dylib, 0x0006): tried: '/usr/local/lib/libcrypto.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/libcrypto.dylib' (no such file), '/usr/local/lib/libcrypto.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/local/Cellar/openssl@3/3.1.2/lib/libcrypto.3.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/openssl@3/3.1.2/lib/libcrypto.3.dylib' (no such file), '/usr/local/Cellar/openssl@3/3.1.2/lib/libcrypto.3.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

calibre 6.29 embedded-python: True
macOS-14.0-arm64-arm-64bit Darwin ('64bit', '')
('Darwin', '23.0.0', 'Darwin Kernel Version 23.0.0: Fri Sep 15 14:41:43 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T6000')
Python 3.10.1
OSX: ('14.0', ('', '', ''), 'arm64')
Interface language: None
Successfully initialized third party plugins: DeDRM (7, 2, 1)
Traceback (most recent call last):
File "calibre/gui2/preferences/plugins.py", line 298, in double_clicked
File "calibre/gui2/preferences/plugins.py", line 378, in modify_plugin
File "calibre/customize/init.py", line 163, in do_user_config
File "calibre_plugins.dedrm.init", line 656, in config_widget
import calibre_plugins.dedrm.config as config
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "calibre/customize/zipplugin.py", line 206, in exec_module
File "calibre_plugins.dedrm.config", line 27, in
from calibre_plugins.dedrm.utilities import uStrCmp
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "calibre/customize/zipplugin.py", line 206, in exec_module
File "calibre_plugins.dedrm.utilities", line 4, in
from calibre_plugins.dedrm.ignoblekeygen import generate_key
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "calibre/customize/zipplugin.py", line 206, in exec_module
File "calibre_plugins.dedrm.ignoblekeygen", line 190, in
AES = _load_crypto()
File "calibre_plugins.dedrm.ignoblekeygen", line 184, in _load_crypto
AES = loader()
File "calibre_plugins.dedrm.ignoblekeygen", line 123, in _load_crypto_libcrypto
libcrypto = CDLL(libcrypto)
File "ctypes/init.py", line 374, in init
OSError: dlopen(/usr/local/lib/libcrypto.dylib, 0x0006): tried: '/usr/local/lib/libcrypto.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/libcrypto.dylib' (no such file), '/usr/local/lib/libcrypto.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/usr/local/Cellar/openssl@3/3.1.2/lib/libcrypto.3.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/openssl@3/3.1.2/lib/libcrypto.3.dylib' (no such file), '/usr/local/Cellar/openssl@3/3.1.2/lib/libcrypto.3.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

PUT YOUR LOG

Thanks for the prompt response; this worked perfectly, thank you so much!