Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't connect to rtorrent. the mentor buffer is empty! #22

Open
LinArcX opened this issue Aug 6, 2023 · 3 comments
Open

Can't connect to rtorrent. the mentor buffer is empty! #22

LinArcX opened this issue Aug 6, 2023 · 3 comments

Comments

@LinArcX
Copy link

LinArcX commented Aug 6, 2023

rtorrent is installed on my machine(void Linux) and I can use it from the terminal. here's my .rtorrrent.rc file:

directory.default.set = /mnt/E/rtorrent/download
session.path.set = ~/rtorrent/.session

schedule2 = watch_directory,5,5,load.start=/mnt/E/rtorrent/watch/*.torrent
dht.mode.set = auto
dht.port.set = 6881
protocol.pex.set= yes

scgi_local = ~/.rtorrent-rpc.socket
encoding.add = utf8

And here's my init.el file:

(use-package mentor)

(setq mentor-rtorrent-download-directory "/mnt/E/rtorrent/download")
(setq mentor-rtorrent-keep-session t)

When I run Mentor in Emacs, I just see an empty buffer. (in rterminal itself, I have bunch of torrent files)

Even if i try to add this line to my init.el:
(setq mentor-rtorrent-external-rpc "~/.rtorrent-rpc.socket")

I'll get these error:

Debugger entered--Lisp error: (file-missing "make client process failed" "No such file or directory" :name "scgi" :buffer #<buffer  *scgi /.rtorrent-rpc.socket*> :remote "/.rtorrent-rpc.socket")
  url-scgi(#s(url :type "scgi" :user nil :password nil :host "~" :portspec nil :filename "/.rtorrent-rpc.socket" :target nil :attributes nil :fullness t :silent nil :use-cookies t :asynchronous nil) #f(compiled-function (&rest args) #<bytecode -0x959f172d0a3b311>) (nil))
  url-retrieve-internal("scgi://~/.rtorrent-rpc.socket" #f(compiled-function (&rest args) #<bytecode -0x959f172d0a3b311>) (nil) nil nil)
  url-retrieve("scgi://~/.rtorrent-rpc.socket" #f(compiled-function (&rest args) #<bytecode -0x959f172d0a3b311>) nil nil nil)
  url-retrieve-synchronously("scgi://~/.rtorrent-rpc.socket")
  xml-rpc-request("scgi://~/.rtorrent-rpc.socket" ((methodCall nil (methodName nil "system.client_version") (params nil))) nil)
  xml-rpc-method-call-async(nil "scgi://~/.rtorrent-rpc.socket" "system.client_version" nil)
  xml-rpc-method-call("scgi://~/.rtorrent-rpc.socket" "system.client_version")
  mentor-rpc-command("system.client_version")
  mentor()
  funcall-interactively(mentor)
  command-execute(mentor record)
  execute-extended-command(nil "mentor" "men")
  funcall-interactively(execute-extended-command nil "mentor" "men")
  command-execute(execute-extended-command)
@abdrysdale
Copy link

I can confirm I get the same issue

@nameiwillforget
Copy link

Me too, both on my desktop and laptop, which are both running Gentoo.

@8dcc
Copy link

8dcc commented Dec 30, 2024

I get the same issue on Arch.

The problem seems to be that the mentor-rtorrent-create-conf function creates a configuration file using the following two paths:

mentor/mentor.el

Lines 526 to 527 in ed42ae8

(rpc (expand-file-name "rtorrent.rpc" mentor-home-dir))
(conf (expand-file-name "rtorrent.rc" mentor-home-dir)))

Normally in ~/.emacs.d/mentor/rtorrent.rc. The path included inside that file, ~/.emacs.d/mentor/rtorrent.rpc, does not exist on my machine, and causes an error. If I manually touch it, I get no error, but the buffer is still empty.


Turns out my problem was that the guix build of rtorrent did not have support for xmlrpc. The version on the Arch package manager did.

@nameiwillforget On Gentoo, make sure you have installed rtorrent with the xmlrpc USE flag enabled (see https://packages.gentoo.org/packages/net-p2p/rtorrent).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants