Youcompleteme: ycmb server: Unexpected error while loading the YCM core library

Created on 26 Jul 2016  Â·  6Comments  Â·  Source: ycm-core/YouCompleteMe

Issue Prelude

Please complete these steps and check these boxes (by putting an x inside
the brackets) _before_ filing your issue:

  • [x] I have read and understood YCM's [CONTRIBUTING][cont] document.
  • [x] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
  • [x] I have read and understood YCM's [README][readme], especially the
    [Frequently Asked Questions][faq] section.
  • [x] I have searched YCM's issue tracker to find issues similar to the one I'm
    about to report and couldn't find an answer to my problem. ([Example Google
    search.][search])
  • [x] If filing a bug report, I have included the output of vim --version.
  • [x] If filing a bug report, I have included the output of :YcmDebugInfo.
  • [x] If filing a bug report, I have included the output of
    :YcmToggleLogs stderr.
  • [x] If filing a bug report, I have included which OS (including specific OS
    version) I am using.
  • [x] If filing a bug report, I have included a minimal test case that reproduces
    my issue.
  • [x] I understand this is an open-source project staffed by volunteers and
    that any help I receive is a selfless, heartfelt _gift_ of their free time. I
    know I am not entitled to anything and will be polite and courteous.
  • [x] I understand my issue may be closed if it becomes obvious I didn't
    actually perform all of these steps.

Thank you for adhering to this process! It ensures your issue is resolved
quickly and that neither your nor our time is needlessly wasted.

Issue Details

OS

Fedora release 24 (Twenty Four)
NAME=Fedora
VERSION="24 (Workstation Edition)"
ID=fedora
VERSION_ID=24
PRETTY_NAME="Fedora 24 (Workstation Edition)"

4.6.4-301.fc24.x86_64

vim --version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun  2 2016 10:02:17)
Included patches: 1-1868
Modified by <[email protected]>
Compiled by <[email protected]>
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +tag_binary
+arabic          +file_in_path    +mouse_sgr       +tag_old_static
+autocmd         +find_in_path    -mouse_sysmouse  -tag_any_white
-balloon_eval    +float           +mouse_urxvt     -tcl
-browse          +folding         +mouse_xterm     +termguicolors
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+channel         +gettext         -mzscheme        +textobjects
+cindent         -hangul_input    +netbeans_intg   +timers
-clientserver    +iconv           +packages        +title
-clipboard       +insert_expand   +path_extra      -toolbar
+cmdline_compl   +job             +perl/dyn        +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      +lua/dyn         +rightleft       +windows
+diff            +menu            +ruby/dyn        +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      +startuptime     -xsmp
+eval            +mouse_dec       +statusline      -xterm_clipboard
+ex_extra        +mouse_gpm       -sun_workshop    -xterm_save
+extra_search    -mouse_jsbterm   +syntax          -xpm
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/etc"
 f-b for $VIMRUNTIME: "/usr/share/vim/vim74"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -O2 -g -pipe -Wall -Werror=format-security -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -L. -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-z,relro   -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -L/usr/local/lib -Wl,--as-needed -o vim        -lm -lnsl  -lselinux   -lncurses -lacl -lattr -lgpm -ldl   -Wl,--enable-new-dtags -Wl,-z,relro  -Wl,-z,relro  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib64/perl5/CORE -lperl -lpthread -lresolv -lnsl -ldl -lm -lcrypt -lutil -lc    

:YcmToggleLogs

File "/home/nmhoule/.vim/bundle/YouCompleteMe/third_party/ycmd/ycmd/server_utils.py", line 95, in CompatibleWithCurrentCore          
  ycm_core = ImportCore()                                                                                                           
  File "/home/nmhoule/.vim/bundle/YouCompleteMe/third_party/ycmd/ycmd/server_utils.py", line 87, in ImportCore                           
  import ycm_core as ycm_core                                                                                                     
ImportError: libtinfo.so.5: cannot open shared object file: No such file or directory 

:YcmDebugInfo

Printing YouCompleteMe debug information...
-- Server crashed, no debug info from server
-- Server running at: http://127.0.0.1:42371
-- Server process ID: 19044
-- Server logfiles:
--   /tmp/ycm_temp/server_42371_stdout.log
--   /tmp/ycm_temp/server_42371_stderr.log

server_42371_stderr.txt

Most helpful comment

That did the trick-- Thank you!

sudo dnf install ncurses-compat-libs-6.0-5.20160116.fc24.x86_64

All 6 comments

https://github.com/Valloric/YouCompleteMe/issues/778#issuecomment-211452969

You need a legacy libtinfo. This is a problem with your installation not having the appropriate dependencies for the upstream binary clang distribution. You either need to satisfy the dependency, or build clang from source then follow the full installation guide in README.md.

That did the trick-- Thank you!

sudo dnf install ncurses-compat-libs-6.0-5.20160116.fc24.x86_64

You need a legacy libtinfo

That’s a bit problematic, isn’t it? Is there no way to avoid using a legacy version? I have the up-to-date ncurses installed but adding a legacy version on my system is complicated (Linuxbrew doesn’t seem to support this, and I’m loath to mix package managers).

For now I’ve added a symlink to the existing libtinfo.so to make the error go away but it’s not an ideal solution.

It is needed by libclang. You could build your own.

On 21 Mar 2017, at 11:22, Konrad Rudolph notifications@github.com wrote:

You need a legacy libtinfo

That’s a bit problematic, isn’t it? Is there no way to avoid using a legacy version? I have the up-to-date ncurses installed but adding a legacy version on my system is complicated (Linuxbrew doesn’t seem to support this, and I’m loath to mix package managers).

For now I’ve added a symlink to the existing libtinfo.so to make the error go away but it’s not an ideal solution.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you all guys above, especially @nicholashoule .
Recently, I met just the same problem that server_utils.py complains importing ycm_core error on newly shifted "Fedora 26 Workstation Edition", after many years YCM smoothly using, even on Windows. The building and installation course is so successful that cheats me a lot, as ycm_core.so generated in place. But the :YcmRestartServer is not working. More details have been uploaded by @nicholashoule and solved by @puremourning

Finally i fixed this by:

sudo dnf install -y ncurses-compat-libs

Moreover, If you like ./install.py --all for YCM installation. all requirements in commands can be:

cd ~/.vim/plugged/YouCompleteMe        # for vim-plug users
git submodule update --init --recursive
sudo dnf install -y automake gcc gcc-c++ kernel-devel cmake \
                    clang clang-devel llvm llvm-devel       \
                    python-devel python3-devel nodejs nodejs-devel \
                    go mono-devel rust cargo cargo-devel    \
                    ncurses-compat-libs

clang & llvm may not really need right now, and YCM will download clang+llvm-5.0.0-linux-x86_64-ubuntu14.04.tar.xz (about 251MB) and build them from source instead.

Hope this sharing is useful for others.

and YCM will download clang+llvm-5.0.0-linux-x86_64-ubuntu14.04.tar.xz (about 251MB) and build them from source instead.

That is a pre-compiled binary of libclang, we will not compile it from source.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghost picture ghost  Â·  4Comments

jsdevel picture jsdevel  Â·  4Comments

beojan picture beojan  Â·  4Comments

blackode picture blackode  Â·  3Comments

2c2c picture 2c2c  Â·  3Comments