From efe33245eb818a90846b62fd10e14274174d40f9 Mon Sep 17 00:00:00 2001 From: Dan F-M Date: Thu, 2 May 2024 16:14:07 -0400 Subject: [PATCH] Updating Python interface to fall back on ctypes.util.find_library --- python/finufft/finufft/_finufft.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/python/finufft/finufft/_finufft.py b/python/finufft/finufft/_finufft.py index 96308db11..5bd5adb8e 100644 --- a/python/finufft/finufft/_finufft.py +++ b/python/finufft/finufft/_finufft.py @@ -7,13 +7,11 @@ """ import ctypes +import ctypes.util import os -import warnings import platform import importlib.util -import numpy as np - from ctypes import c_double from ctypes import c_int from ctypes import c_float @@ -26,13 +24,14 @@ c_double_p = ctypes.POINTER(c_double) c_longlong_p = ctypes.POINTER(c_longlong) -# TODO: See if there is a way to improve this so it is less hacky. lib = None # Try to load a local library directly. try: lib = ctypes.cdll.LoadLibrary('libfinufft.so') except OSError: - pass + libname = ctypes.util.find_library('finufft') + if libname is not None: + lib = ctypes.cdll.LoadLibrary(libname) # Should that not work, try to find the full path of a packaged lib. # The packaged lib should have a py/platform decorated name,