Youcompleteme: Failed on 100%: Linking CXX shared library

Created on 18 Nov 2018  路  8Comments  路  Source: ycm-core/YouCompleteMe

Issue Prelude

Issue Details

I was compiling YCM in my deepin system with SpaceVim.
And in the last step:
"Linking CXX shared library /home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe/third_party/ycmd/ycm_core.so"
However, it failed, and the error information shows as follow.
CMake Error: The source directory "/home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe/third_party/ycmd/third_party/cregex" does not appear to contain CMakeLists.txt.

questions:

I try to install some dependencies, but it is useless.

Include steps to reproduce here.

  • cd /home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe
  • git submodule update --init --recursive
  • python3 install.py --clang-completer

screenshots, etc.

deepinscreenshot_select-area_20181118131437

Output of nvim --version

NVIM v0.3.2-dev
Build type: RelWithDebInfo
LuaJIT 2.0.5

Output of build/install commands

Include link to a [gist][] containing the invocation and entire output of
install.py if reporting an installation issue.

[12:48:36] rivalak:YouCompleteMe git:(master) $ python3 install.py --clang-completer
Searching Python 3.6 libraries...
Found Python library: /usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6.so
Found Python headers folder: /usr/include/python3.6m
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonLibs: /usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6.so (found suitable version "3.6.5", minimum required is "3.4")
-- Using libclang archive: /home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe/third_party/ycmd/cpp/../clang_archives/libclang-7.0.0-x86_64-unknown-linux-gnu.tar.bz2
-- Using libclang to provide semantic completion for C/C++/ObjC
-- Using external libclang: /tmp/ycm_build_fok1sn62/lib/libclang.so.7
-- NOT using clang-tidy for static analysis.
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/ycm_build_fok1sn62
Scanning dependencies of target BoostParts
[ 1%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/codecvt_error_category.cpp.o
[ 3%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/operations.cpp.o
[ 7%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/filesystem/src/path_traits.cpp.o
...........
[ 98%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o
[100%] Linking CXX shared library /home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe/third_party/ycmd/ycm_core.so
[100%] Built target ycm_core
CMake Error: The source directory "/home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe/third_party/ycmd/third_party/cregex" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
ERROR: the build failed.

__NOTE :__ it is highly unlikely that this is a bug but rather
that this is a problem with the configuration of your system
or a missing dependency. Please carefully read CONTRIBUTING.md
and if you're sure that it is a bug, please raise an issue on the
issue tracker, including the entire output of this script
and the invocation line used to run it.

Most helpful comment

The same problem bugs me on Cygwin64

Don't worry, you can solve this issue according to the following two suggestions.

#Delete "cregex" folder
rm -fr YouCompleteMe/third_party/ycmd/third_party/cregex
#Execute below command in "YouCompleteMe/third_party/ycmd/third_party" directory
git submodule update --init --recursive 

All 8 comments

[100%] Built target ycm_core

Your ycm_core.so built and linked correctly. Your YCM can already be used.

The source directory "/home/rivalak/.cache/vimfiles/repos/github.com/Valloric/YouCompleteMe/third_party/ycmd/third_party/cregex" does not appear to contain CMakeLists.txt.

However, the third_party/cregex directory seems to be empty. This should be fixed with git submodule update --init --recursive.

Closing, as this isn't a YCM bug.

i have very same problem.
after
git submodule update --init --recursive
still empty on dir "YouCompleteMe/third_party/ycmd/third_party/cregex"
i manual git clone this repo to folder to fix this.

The same problem bugs me on Cygwin64

The same problem bugs me on Cygwin64

Don't worry, you can solve this issue according to the following two suggestions.

#Delete "cregex" folder
rm -fr YouCompleteMe/third_party/ycmd/third_party/cregex
#Execute below command in "YouCompleteMe/third_party/ycmd/third_party" directory
git submodule update --init --recursive 

The same problem bugs me on Cygwin64

you can solve this by rm dir "YouCompleteMe/third_party/ycmd/third_party/cregex" and execute git submodule update --init --recursive on the dir of "YouCompleteMe/third_party/ycmd/third_party"

This solves my problem. Thanks 馃憤

Same issue on fresh xubuntu 18.10 installation, this last piece also solved the issue for me.

The same problem bugs me on Cygwin64

Don't worry, you can solve this problem based on the next TWO suggestions.

* rm dir "YouCompleteMe/third_party/ycmd/third_party/cregex"

* execute git submodule update --init --recursive on the dir of "YouCompleteMe/third_party/ycmd/third_party"

Thanks a lot.

The same problem bugs me on Cygwin64

Don't worry, you can solve this problem based on the next TWO suggestions.

  • rm dir "YouCompleteMe/third_party/ycmd/third_party/cregex"
  • execute git submodule update --init --recursive at the dir of "YouCompleteMe/third_party/ycmd/third_party"

This solved the issue for me, thanks!

Was this page helpful?
0 / 5 - 0 ratings