From 00c462d1490d95cc9fd8ee5c22376909651319bc Mon Sep 17 00:00:00 2001 From: MRocholl Date: Wed, 15 Apr 2020 15:00:03 +0200 Subject: [PATCH] find library path to libclang.so via glob command in /usr/lib/llvm-* and set it --- tools/mkdoc.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/mkdoc.py b/tools/mkdoc.py index 44164af3d..2b429ae1c 100755 --- a/tools/mkdoc.py +++ b/tools/mkdoc.py @@ -254,6 +254,13 @@ def read_args(args): parameters.append('-isysroot') parameters.append(sysroot_dir) elif platform.system() == 'Linux': + # cython.util.find_library does not find `libclang` for all clang + # versions and distributions. LLVM switched to a monolithical setup + # that includes everything under /usr/lib/llvm{version_number}/ + # We therefore glob for the library and select the highest version + library_path = sorted(glob("/usr/lib/llvm-*/lib/"), reversed=True)[0] + cindex.Config.set_library_path(library_path) + # clang doesn't find its own base includes by default on Linux, # but different distros install them in different paths. # Try to autodetect, preferring the highest numbered version.