summary refs log tree commit diff
path: root/pkgs/development/python-modules/pythran/0001-hardcode-path-to-libgomp.patch
blob: 14d2c2fbfd290e4edf3df3972e8ea357aaf41dd8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
From 208fe98f10c580a5a2fb6a8cfdd56de109073925 Mon Sep 17 00:00:00 2001
From: Frederik Rietdijk <fridh@fridh.nl>
Date: Sat, 17 Jul 2021 18:36:27 +0200
Subject: [PATCH] hardcode path to libgomp

---
 omp/__init__.py | 40 ++++------------------------------------
 1 file changed, 4 insertions(+), 36 deletions(-)

diff --git a/omp/__init__.py b/omp/__init__.py
index bddae3063..9ba3678d8 100644
--- a/omp/__init__.py
+++ b/omp/__init__.py
@@ -69,43 +69,11 @@ class OpenMP(object):
 
     def init_not_msvc(self):
         """ Find OpenMP library and try to load if using ctype interface. """
-        # find_library() does not search automatically LD_LIBRARY_PATH
-        paths = os.environ.get('LD_LIBRARY_PATH', '').split(':')
+        libgomp_path = "@gomp@"
 
-        for libomp_name in self.get_libomp_names():
-            if cxx is None or sys.platform == 'win32':
-                # Note: Clang supports -print-file-name, but not yet for
-                # clang-cl as of v12.0.0 (April '21)
-                continue
-
-            cmd = [cxx, '-print-file-name=' + libomp_name]
-            # the subprocess can fail in various ways in that case just give up
-            try:
-                path = os.path.dirname(check_output(cmd).decode().strip())
-                if path:
-                    paths.append(path)
-            except (OSError, CalledProcessError):
-                pass
-
-        # Try to load find libgomp shared library using loader search dirs
-        libgomp_path = find_library("gomp")
-
-        # Try to use custom paths if lookup failed
-        for path in paths:
-            if libgomp_path:
-                break
-            path = path.strip()
-            if os.path.isdir(path):
-                libgomp_path = find_library(os.path.join(str(path), "libgomp"))
-
-        if not libgomp_path:
-            raise ImportError("I can't find a shared library for libgomp,"
-                              " you may need to install it or adjust the "
-                              "LD_LIBRARY_PATH environment variable.")
-        else:
-            # Load the library (shouldn't fail with an absolute path right?)
-            self.libomp = ctypes.CDLL(libgomp_path)
-            self.version = 45
+        # Load the library (shouldn't fail with an absolute path right?)
+        self.libomp = ctypes.CDLL(libgomp_path)
+        self.version = 45
 
     def __getattr__(self, name):
         """
-- 
2.32.0