I installed the latest cygwin64 under windows 10, then started to install some cygwin packages like python3.9 and clang 8.0.1, then via cygwin terminal,
pip3 install clang==8.0.1
Now, I’m trying the following:
$ python3 Python 3.9.10 (main, Jan 20 2022, 21:37:52) [GCC 11.2.0] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> import clang.cindex >>> index = clang.cindex.Index.create() Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/clang/cindex.py", line 4172, in get_cindex_library library = cdll.LoadLibrary(self.get_filename()) File "/usr/lib/python3.9/ctypes/__init__.py", line 452, in LoadLibrary return self._dlltype(name) File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__ self._handle = _dlopen(self._name, mode) OSError: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.9/site-packages/clang/cindex.py", line 2698, in create return Index(conf.lib.clang_createIndex(excludeDecls, 0)) File "/usr/local/lib/python3.9/site-packages/clang/cindex.py", line 212, in __get__ value = self.wrapped(instance) File "/usr/local/lib/python3.9/site-packages/clang/cindex.py", line 4146, in lib lib = self.get_cindex_library() File "/usr/local/lib/python3.9/site-packages/clang/cindex.py", line 4177, in get_cindex_library raise LibclangError(msg) clang.cindex.LibclangError: No such file or directory. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().
What I understand is that it fails to open a clang library, after searching for it, I found a lot of libraries at /usr/lib, and one of them is libclang.dll.a, I tried to make a symbolic link for it according some other SO questions suggest like:
ln -s /usr/lib/libclang.dll.a /usr/lib/libclang.so.1 ln -s /usr/lib/libclang.dll.a /usr/lib/libclang.so ln -s /usr/lib/libclang.dll.a /usr/lib/python3.9/libclang.so.1 ln -s /usr/lib/libclang.dll.a /usr/lib/python3.9/libclang.so
but with no luck, any help as I’m not familiar with python.
Advertisement
Answer
The issue is fixed now. The root cause was that I installed the latest version of each package. so I installed python v3.9 and clang v8.0.1. python v3.9 was expecting clang v10 which is not available at cygwin repos, and the latest python bindings for clang was for version v3.7, so I removed python v3.9 and installed version v3.7 which expects the latest clang version available.
P.S. I removed this package as it has no need pip3 install clang==8.0.1