[Bug 1730731] Re: [16.04] no autocomplete and multiple errors due to expecting different python-bottle version

TJ ubuntu at iam.tj
Thu Nov 9 21:55:11 UTC 2017


> As to your last comment, it's not pointless in 17.10, right? Which
means it probably works in Debian and Ubuntu? Just not in Xenial? Does
17.04 work?

17.04 and 17.10 both carry debian/patches/08-bottle.patch

The reason is that the upstream ycmd git repo has dependencies in git
sub-modules for several projects, python-bottle being one. From what I
can see it seems that the sub-module still depends on an older version
of python-bottle than the one shipped by Debian - and hence Ubuntu - and
therefore both require this patch for ycmd to work with the more recent
python-bottle in the archive because the bottle API changed.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1730731

Title:
  [16.04] no autocomplete and multiple errors due to expecting different
  python-bottle version

Status in vim-youcompleteme package in Ubuntu:
  Invalid
Status in ycmd package in Ubuntu:
  In Progress
Status in Debian:
  Fix Released

Bug description:
  Tested on my coding host and in a clean LXD ubuntu:16.04 container.
  Testing in a LXD 17.10 container it works as expected.

  # apt install vim-youcompleteme
  # vam install youcompleteme

  # vim test.py

  As soon as I try to begin editing multiple (15+) errors are generated,
  filing the window, each requiring Enter to be pressed to continue.

  Makes vim unusable.

  Apparently this is due to vim-nox being built with +python3 -python
  but, despite the Depends: on vim-youcompleteme package being for
  python3, it calls 16.04's default python interpreter which is python2.

  A workaround for this is:

  # echo "let g:ycm_server_python_interpreter = '/usr/bin/python2'" >>
  ~/.vimrc

  Now vim is usable with no errors.

  However, there is no autocomplete function working.

  Starting with:

  # vim -V9 test.py

  reveals the error:

  Press ENTER or type command to continueTraceback (most recent call last):
     File "/usr/lib/ycmd/check_core_version.py", line 21, in <module>
                                                                                                                                                 import ycm_core
                                                                                                                                                                ImportError: dynamic module does not define module export function (PyInit_ycm_core)


  This is because Python 3.x C/C++ extension modules (shared libraries)
  have a different calling convention to that of Python 2.x and must
  export certain functions, amongst them:

   PyObject* PyInit_modulename(void)

  see https://docs.python.org/3/extending/building.html

  Because the vim-youcomepleteme package was simply rebuilt for Python3
  the changes required to support Python3 extensions were not added.

  This makes the entire vim-youcompletme package pointless in Debian and
  Ubuntu.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/vim-youcompleteme/+bug/1730731/+subscriptions



More information about the Ubuntu-sponsors mailing list