Dear Maintainer,
Upon a fresh install of vim-youcompleteme on an otherwise almost empty
system (a live system, in fact), I noticed that two particular
packages were mandatory to get it to work (for C++ completion at least)
- clangd
- python3-distutils
In particular, when the latter is absent, :YcmDebugInfo points to an
stderr file that says:
2021-11-11 11:35:02,283 - ERROR - Error occurred while loading global extra conf
/usr/lib/ycmd/ycm_extra_conf.py
Traceback (most recent call last):
File "/usr/lib/ycmd/ycmd/extra_conf_store.py", line 92, in _CallGlobalExtraConfMethod
module = Load( global_ycm_extra_conf, force = True )
File "/usr/lib/ycmd/ycmd/extra_conf_store.py", line 171, in Load
module = LoadPythonSource( _RandomName(), module_file )
File "/usr/lib/ycmd/ycmd/utils.py", line 373, in LoadPythonSource
return importlib.machinery.SourceFileLoader( name, pathname ).load_module()
File "<frozen importlib._bootstrap_external>", line 469, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 969, in load_module
File "<frozen importlib._bootstrap_external>", line 794, in load_module
File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
File "<frozen importlib._bootstrap>", line 711, in _load
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/lib/ycmd/ycm_extra_conf.py", line 31, in <module>
from distutils.sysconfig import get_python_inc
ModuleNotFoundError: No module named 'distutils.sysconfig'
If python3-distutils is installed but not clangd, that same stderr file
complains as:
2021-11-11 11:50:49,299 - ERROR - No Clangd executable found at /usr/bin/clangd
2021-11-11 11:50:49,299 - INFO - Completion config: 50, detailing -1 candiates
2021-11-11 11:50:50,985 - INFO - Received filetype completion available request
2021-11-11 11:50:52,271 - INFO - Received debug info request
Adding these two packages was enough to satisfy my needs.
I don't know if Ycm has a set of more basic functionalities that would
justify not having the packages above as dependencies.
Best regards,
E.