Your message dated Fri, 10 Jun 2022 18:20:18 +0200
with message-id <20220610162018.56imum3lpsfchtdt@crossbow>
and subject line Re: Bug#999486: vim-youcompleteme: depends on clangd and
python3-distutils
has caused the Debian Bug report #999486,
regarding vim-youcompleteme: depends on clangd and python3-distutils
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
999486: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=999486
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: vim-youcompleteme
Version: 0+20200825+git2afee9d+ds-2
Severity: normal
X-Debbugs-Cc: [email protected]
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.
-- System Information:
Debian Release: 11.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.10.0-9-amd64 (SMP w/8 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages vim-youcompleteme depends on:
ii python3 3.9.2-3
ii python3-future 0.18.2-5
ii python3-requests 2.25.1+dfsg-2
ii python3-requests-futures 1.0.0-2
ii vim-nox [vim-python3] 2:8.2.2434-3
ii ycmd [ycmd-core-version] 0+20201028+git1d415c5+ds-1+b2
Versions of packages vim-youcompleteme recommends:
ii vim-addon-manager 0.5.10
vim-youcompleteme suggests no packages.
-- no debconf information
--- End Message ---
--- Begin Message ---
Hi,
sorry for the late reply.
(fsvo) Thankfully, this is a misunderstanding based on a bug. The
dependency on python3-distutils was caused by a buggy patch for
the file /usr/lib/ycmd/ycm_extra_conf.py shipped in ycmd and used
by vim-youcompleteme: The patch was removing the line using that
package, but not the import… (#990466) … doh!
On Thu, Nov 11, 2021 at 11:56:40AM -0800, Emmanuel Thomé wrote:
> 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
clangd is the preferred completer for the C family, but YCM falls back to
another completer based on libclang if not available/usable. You could
force that fallback (and avoid the message) with
`let g:ycm_use_clangd = 0` in your vimrc if you so choose.
Both completers require a functioning ycm_extra_conf.py through.
The C family of languages in particular tend to need some hand-holding
so the completers can find the right flags to use either with
a compilation database (compile_commands.json) for the project at hand
generated by e.g. CMake on request (-DCMAKE_EXPORT_COMPILE_COMMANDS=ON)
or with a likely project-specific handcrafted `.ycm_extra_conf.py' file.
The global ycm_extra_conf.py tries to be a reasonably generic example
that can with some luck work on simple projects, but mildly more complex
ones tend to require additional defines and flags that can't be guessed.
You will find more information on the various completers in the ycmd
package, start here: /usr/share/doc/ycmd/README.Debian.gz
I hope that clarifies things, if not feel free to ask – and I hopefully
reply a little faster next time… – while I take the liberty now to close
this bug report as the ycmd bug bringing this on is hopefully fixed now
with my upload yesterday.
Best regards
David Kalnischkies
signature.asc
Description: PGP signature
--- End Message ---