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 254 forks source link

Cannot connect to server #1341

Closed mattt-b closed 5 years ago

mattt-b commented 5 years ago

Describe the bug Can't connect to server: RTags: Can’t seem to connect to server. Is rdm running?

I get this message no matter how I try to use this. I had previously tried using this in the past, so if that could have created any conflicts, that may be why.

I removed the old binaries, and have ensured I have matching versions with rtags.el and rdm/rc. I have fully installed from this git repo, and using :rtags-install. I also tried exactly following the 'Quickstart' guide. No matter what I do I get the Can't seem to connect error. Rtags-diagnostics doesn't print any information (if it's even applicable here).

Everything seems to work when using the binaries from the command line outside of emacs.

I've tried debugging the code myself but my elisp is incredibly poor. Assistance greatly appreciated.

Environment (please complete the following information):

tomjpsun commented 5 years ago

Please check In emacs, 'Alt-x shell' to start shell, and 'ps aux | grep rdm' to make sure it had been started.

mattt-b commented 5 years ago

Please check In emacs, 'Alt-x shell' to start shell, and 'ps aux | grep rdm' to make sure it had been started.

matt     19175  0.2  0.1 200552 32500 pts/2    Sl+  05:51   0:00 rdm
matt     21424  0.0  0.0  14428  1012 pts/4    S+   05:52   0:00 grep rdm

It is started and receives/returns commands if run them manually from the shell.

allmycode commented 5 years ago

I can confirm this issue. When I try to run 'rc' command from emacs shell it said Can't seem to connect to server (/run/user/1000/snap.emacs/rdm.socket) so after I done ln /run/user/1000/rdm.socket /run/user/1000/snap.emacs/rdm.socket everything stars to work fine

casch-at commented 5 years ago

You are using a snap installed Emacs version, right? You could start rdm within Emacs using rtags-start-process-unless-running or set rtags-socket-file to /run/user/1000/rdm.socket.

mattt-b commented 5 years ago

Thanks folks. rtags-start-process-unless-running doesn't work, but the socket changes suggested work.

allmycode commented 5 years ago

Actually in understand that problem was involved with snaps. rtags-start-process-unless-running works from within Emacs, but after that all communication with it, invoke rc etc. should be done from within Emacs shell, not from outside. That's because some security reason and snap isolation between each other