Skip to content

ccls build failure at indexer.cc #982

Description

@joshcangit

I can configure it now but there are 2 build errors.

Configuration
> llvm=$(basename $(llvm-config --prefix)) && cmake -Sccls -Bccls/Release -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_PREFIX_PATH=/usr/lib/$llvm -DLLVM_INCLUDE_DIR=/usr/lib/$llvm/include -DCMAKE_INSTALL_PREFIX=/usr/local -DCLANG_LINK_CLANG_DYLIB=ON -DUSE_SYSTEM_RAPIDJSON=OFF -DLLVM_ENABLE_ZLIB=ON
-- The CXX compiler identification is Clang 22.0.0
-- The C compiler identification is Clang 22.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/llvm-22/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/llvm-22/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib/x86_64-linux-gnu/libffi.so  
-- Looking for histedit.h
CMake Warning (dev) at /usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:77 (message):
  Policy CMP0075 is not set: Include file check macros honor
  CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  CMAKE_REQUIRED_LIBRARIES is set to:

    /usr/lib/x86_64-linux-gnu/libedit.so

  For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
  /usr/lib/llvm-22/cmake/FindLibEdit.cmake:28 (check_include_file)
  /usr/lib/llvm-22/cmake/LLVMConfig.cmake:299 (find_package)
  /usr/lib/llvm-22/lib/cmake/clang/ClangConfig.cmake:11 (find_package)
  CMakeLists.txt:72 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for histedit.h - found
-- Found LibEdit: /usr/include (found version "2.11") 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.3")  
-- Found zstd: /usr/lib/x86_64-linux-gnu/libzstd.so  
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.14") 
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "8.5.0")  
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Using local RapidJSON
fatal: No names found, cannot describe anything.
-- Configuring done (1.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/joshua/ccls/Release
Build process
> cmake --build ccls/Release
[  2%] Building CXX object CMakeFiles/ccls.dir/third_party/siphash.cc.o
[  4%] Building CXX object CMakeFiles/ccls.dir/src/clang_tu.cc.o
[  7%] Building CXX object CMakeFiles/ccls.dir/src/config.cc.o
[  9%] Building CXX object CMakeFiles/ccls.dir/src/filesystem.cc.o
[ 11%] Building CXX object CMakeFiles/ccls.dir/src/fuzzy_match.cc.o
[ 14%] Building CXX object CMakeFiles/ccls.dir/src/main.cc.o
[ 16%] Building CXX object CMakeFiles/ccls.dir/src/indexer.cc.o
/home/joshua/ccls/src/indexer.cc:1288:10: error: no matching member function for
      call to 'createDiagnostics'
 1288 |   clang->createDiagnostics(
      |   ~~~~~~~^~~~~~~~~~~~~~~~~
/usr/lib/llvm-22/include/clang/Frontend/CompilerInstance.h:709:3: note: 
      candidate function not viable: no known conversion from 'IndexDiags *' to
      'DiagnosticOptions &' for 2nd argument
  709 |   createDiagnostics(llvm::vfs::FileSystem &VFS, DiagnosticOptions &Opts,
      |   ^                                             ~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm-22/include/clang/Frontend/CompilerInstance.h:684:8: note: 
      candidate function not viable: requires at most 2 arguments, but 3 were
      provided
  684 |   void createDiagnostics(DiagnosticConsumer *Client = nullptr,
      |        ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  685 |                          bool ShouldOwnClient = true);
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/joshua/ccls/src/indexer.cc:1302:28: error: too many arguments to function
      call, expected 0, have 1
 1302 |   clang->createFileManager(fs);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~ ^~
/usr/lib/llvm-22/include/clang/Frontend/CompilerInstance.h:717:16: note: 
      'createFileManager' declared here
  717 |   FileManager *createFileManager();
      |                ^
2 errors generated.
make[2]: *** [CMakeFiles/ccls.dir/build.make:160: CMakeFiles/ccls.dir/src/indexer.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:89: CMakeFiles/ccls.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions