| 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 |
| |