Andersbakken / rtags

A client/server indexer for c/c++/objc[++] with integration for Emacs based on clang.
http://www.rtags.net
GNU General Public License v3.0
1.83k stars 253 forks source link

Latest version with compiler-manager enabled causes many rc cmds to not work #1405

Open mckellygit opened 3 years ago

mckellygit commented 3 years ago

Hi, Thank you for rtags, it is awesome. I just built the latest version and found all my rc commands to find references, go to definitions, etc. no longer work. I disabled the compiler-manager and every cmd now works great as before. Perhaps this is correct - but I just wanted to ask about what specifically the compiler manager changes ? Does this suggest my compiler is not installed/configured correctly ? thx again. -m

vkargov commented 3 years ago

Disabling the compiler manager with --disable-compiler-manager fixed some of the mysterious rtags failures for me, too, thanks for sharing your finding!

To clarify, with -R which is now default in the latest Git version, rtags couldn't find a file function definition in an include file even though the include file itself was marked as indexed, e.g.:

// lib.h
int myfunc() {...}
// main.cpp
#include "lib.h"
int main() {
  ...
  myfunc();
  ...
}
vkargov commented 3 years ago

I'll try to clarify the purpose of the compiler manager, though I'm not very conversant with the RTags project myself. The compiler manager queries the compilers that build your program to supply some additional flags that were provided by the build system or the developer that may affect the location of some of the include files. For instance, if clang++ is called with -isysroot or --sysroot during your build, then rtags may not find the location of some include files in those directories without --enable-compiler-manager. Google Chrome builds do that, for example, and for them the compiler manager is a good option that helps rtags find and index the right header files. I have no idea why it fails under some circumstances!

mckellygit commented 3 years ago

@vkargov thank you. I suppose we can close this issue now ?

vkargov commented 3 years ago

I suppose we can close this issue now ?

Personally I'd love to see it open since the problem is there and has not been fixed. Perhaps someone could explain why using a compiler manager causes such apparent regression.

mckellygit commented 3 years ago

ok, I will leave it open and we can see if anyone else has comments. thx, -m