12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From e86a1c199d45c9751da67f947af202927dee07f8 Mon Sep 17 00:00:00 2001
- From: Yegor Yefremov <yegorslists@googlemail.com>
- Date: Thu, 10 Dec 2015 08:44:55 +0100
- Subject: [PATCH] Workaround finding libudev on systems without ldconf
- This patch tries to load libudev.so directly without relying on
- Python's find_library(). find_library() fails on systems
- without library cache mechanism.
- Taken from pyudev issue 117 discussion:
- https://github.com/pyudev/pyudev/pull/117
- Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
- [Marcin: adjust to 0.22.0]
- Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
- ---
- src/pyudev/_ctypeslib/utils.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
- diff --git a/src/pyudev/_ctypeslib/utils.py b/src/pyudev/_ctypeslib/utils.py
- index 9dffb3c..aa9942f 100644
- --- a/src/pyudev/_ctypeslib/utils.py
- +++ b/src/pyudev/_ctypeslib/utils.py
- @@ -28,7 +28,7 @@
- from __future__ import print_function
- from __future__ import unicode_literals
-
- -from ctypes import CDLL
- +from ctypes import cdll, CDLL
- from ctypes.util import find_library
-
-
- @@ -50,10 +50,10 @@ def load_ctypes_library(name, signatures, error_checkers):
- :rtype: ctypes.CDLL
- :raises ImportError: if the library is not found
- """
- - library_name = find_library(name)
- - if not library_name:
- + try:
- + lib = cdll.LoadLibrary(f'lib{name}.so')
- + except OSError:
- raise ImportError('No library named %s' % name)
- - lib = CDLL(library_name, use_errno=True)
- # Add function signatures
- for funcname, signature in signatures.items():
- function = getattr(lib, funcname, None)
- --
- 2.29.1
|