Fix load libimobiledevice failures

This commit is contained in:
Kovid Goyal 2017-06-22 17:06:31 +05:30
parent 173e6d08b1
commit 4be0b87b56
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -28,16 +28,20 @@ from calibre.devices.usbms.driver import debug_print
def load_library(): def load_library():
if iswindows: if iswindows:
env = "Windows" env = "Windows"
lib = cdll.LoadLibrary('libimobiledevice.dll') lib = cdll.LoadLibrary(str('libimobiledevice.dll'))
plist_lib = cdll.LoadLibrary('libplist.dll') plist_lib = cdll.LoadLibrary(str('libplist.dll'))
elif isosx: elif isosx:
env = "OS X" env = "OS X"
# Load libiMobileDevice # Load libiMobileDevice
path = 'libimobiledevice.6.dylib' path = 'libimobiledevice.6.dylib'
lib = cdll.LoadLibrary(os.path.join(getattr(sys, 'frameworks_dir'), path)) if hasattr(sys, 'frameworks_dir'):
path = os.path.join(sys.frameworks_dir, path)
lib = cdll.LoadLibrary(str(path))
# Load libplist # Load libplist
path = 'libplist.3.dylib' path = 'libplist.3.dylib'
plist_lib = cdll.LoadLibrary(os.path.join(getattr(sys, 'frameworks_dir'), path)) if hasattr(sys, 'frameworks_dir'):
path = os.path.join(sys.frameworks_dir, path)
plist_lib = cdll.LoadLibrary(str(path))
else: else:
env = "linux" env = "linux"
try: try: