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

Mathew Hodson mathew.hodson at gmail.com
Mon Mar 5 06:24:57 UTC 2018


** Package changed: debian => vim-youcompleteme (Debian)

** Changed in: ycmd (Ubuntu)
   Importance: Undecided => Medium

** Changed in: vim-youcompleteme (Ubuntu)
   Importance: Undecided => Medium

** Tags added: xenial

** Changed in: vim-youcompleteme (Ubuntu)
       Status: Invalid => Fix Released

-- 
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:
  Fix Released
Status in ycmd package in Ubuntu:
  In Progress
Status in vim-youcompleteme package 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