Package Details: rtorrent-pyro-git 20160810-1

Git Clone URL: (read-only)
Package Base: rtorrent-pyro-git
Description: Ncurses BitTorrent client based on libTorrent - rTorrent-git with Pyroscope patches
Upstream URL:
Keywords: pyroscope torrent
Licenses: GPL
Conflicts: rtorrent, rtorrent-git
Provides: rtorrent
Submitter: skydrome
Maintainer: skydrome
Last Packager: skydrome
Votes: 16
Popularity: 0.002082
First Submitted: 2012-06-15 00:02
Last Updated: 2016-08-10 21:03

Latest Comments

skydrome commented on 2016-08-21 05:59

thats an option for curl, async dns lookups have been default in arch since 2011 using pthreads. You dont and wont need c-ares for rtorrent use. Just use a caching name server like rescached or pdnsd

Ghosthree3 commented on 2016-08-19 10:57

Is this compiled with c-ares? I know the official build script does it but I don't _believe_ this package uses that script right?

skydrome commented on 2016-08-10 21:03

function got renamed, fixed

clidx commented on 2016-08-06 15:28

I'm getting the same error as new numbertwo.

newnumbertwo commented on 2016-08-03 17:02

Having added --ignore-whitespace to the patch command and updated the md5sum for
(note that if you change the _commit=HEAD to _commit=62cb5a4, you'll simply rebuild
rtorrent-pyro-git-20150908-1-x86_64, which is probably not what you want to do, since in my case, that's the
version already installed) , my build of HEAD fails when it tries to compile

g++ -DHAVE_CONFIG_H -I. -I.. -I. -I.. -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe
-fstack-protector-strong -fno-strict-aliasing -DNDEBUG -Wall -pthread -I/usr/include -MT ui_pyroscope.o
-MD -MP -MF .deps/ui_pyroscope.Tpo -c -o ui_pyroscope.o
In file included from globals.h:41:0,
../rak/priority_queue_default.h: In destructor ‘rak::priority_item::~priority_item()’:
../rak/priority_queue_default.h:56:95: warning: throw will always call terminate() [-Wterminate]
throw torrent::internal_error("priority_item::~priority_item() called on a queued item.");
../rak/priority_queue_default.h:56:95: note: in C++11 destructors default to noexcept In function ‘void display::ui_pyroscope_colormap_init()’: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < words.size(); i++) { // look at all the words
~~^~~~~~~~~~~~~~ warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
if (col[0] != -1 && col[0] >= get_colors() || col[1] != -1 && col[1] >= get_colors()) {
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘void display::decorate_download_title(display::Window*, display::Canvas*, core::View*, int, Range&)’: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
^ In function ‘void display::ui_pyroscope_download_list_redraw_item(display::Window*, display::Canvas*, core::View*, int, Range&)’: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (status_pos < canvas->width()) {
~~~~~~~~~~~^~~~~~~~~~~~~~~~~ warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (status_pos < canvas->width()) {
~~~~~~~~~~~^~~~~~~~~~~~~~~~~ warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int label_idx = 0; label_idx < sizeof(label_pos) / sizeof(int); label_idx += 2) {
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘bool display::ui_pyroscope_download_list_redraw(display::Window*, display::Canvas*, core::View*)’: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (item_idx == view->size())
~~~~~~~~~^~~~~~~~~~~~~~~ error: ‘print_download_info’ was not declared in this scope
print_download_info(buffer, last, *view->focus());
^ In function ‘void network_history_format(std::__cxx11::string&, char, uint32_t*)’: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 1; i <= samples; ++i) {
make[3]: *** [Makefile:583: ui_pyroscope.o] Error 1
make[3]: Leaving directory '/tmp/yaourt-tmp-username/aur-rtorrent-pyro-git/src/rtorrent/src'
make[2]: *** [Makefile:616: all-recursive] Error 1
make[2]: Leaving directory '/tmp/yaourt-tmp-username/aur-rtorrent-pyro-git/src/rtorrent/src'
make[1]: *** [Makefile:447: all-recursive] Error 1
make[1]: Leaving directory '/tmp/yaourt-tmp-username/aur-rtorrent-pyro-git/src/rtorrent'
make: *** [Makefile:379: all] Error 2
==> ERROR: A failure occurred in build().

Any suggestions?

bounb commented on 2016-07-25 12:18

patching currently fails on src/display/canvas.h: can be worked around by adding --ignore-whitespace to the patch command.

skydrome commented on 2016-04-08 19:11

fixed it, compiling from git works again \o/

novcn commented on 2016-04-02 18:33

Was experiencing the same issue as @Brottweiler.
Issue is that a function from rtorrent-pyro was merged into the latest version of rtorrent.
Instead of _commit pointing to HEAD (version 0.9.7) in PKGBUILD use
_commit=62cb5a4 #0.9.6 (points commit to version prior to merge)

Brottweiler commented on 2016-04-01 10:57

==> Validating source files with md5sums...
rtorrent ... Skipped
rtorrent.rc.sample ... Passed
ps-ui_pyroscope_all.patch ... Passed
pyroscope.patch ... Passed
ui_pyroscope.patch ... Passed ... FAILED ... Passed
ui_pyroscope.h ... Passed
==> ERROR: One or more files did not pass the validity check!

Running updpkgsums then building again results in

collect2: error: ld returned 1 exit status
Makefile:548: recipe for target 'rtorrent' failed
make[3]: *** [rtorrent] Error 1
make[3]: Leaving directory '/home/brott/build/rtorrent-pyro-git/src/rtorrent/src'
Makefile:616: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/brott/build/rtorrent-pyro-git/src/rtorrent/src'
Makefile:447: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/brott/build/rtorrent-pyro-git/src/rtorrent'
Makefile:379: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().

Stygian commented on 2016-03-15 13:51

Compilation fails with

libsub_root.a(command_pyroscope.o): In function `cmd_ui_current_view()': multiple definition of `cmd_ui_current_view()'
libsub_root.a(command_ui.o) first defined here
collect2: error: ld returned 1 exit status
Makefile:548: recipe for target 'rtorrent' failed
make[3]: *** [rtorrent] Error 1

Ideas anyone ?

skydrome commented on 2015-12-20 20:50

underestimating the time i thought it would take to get that merged, ive added that patch.

Shardz commented on 2015-12-19 06:42

As a TEMPORARY FIX for people who come to this page with issues like until my pull request is resolved, my git repo fixes the errors created by &;

diff --git a/PKGBUILD b/PKGBUILD
index 0163de7..33a09c4 100644
@@ -10,7 +10,7 @@ _debug=n

pkgdesc="Ncurses BitTorrent client based on libTorrent - rTorrent-git with Pyroscope patches"
@@ -31,7 +31,7 @@ backup=('usr/share/doc/rtorrent/rtorrent.rc.sample')
_debug='--disable-debug' || options=(!strip)


Brottweiler commented on 2015-12-10 21:33

Welp, I am rebuilding libtorrent-pyro and this due to the ABI change, and this fails (as described below), so now rtorrent segfaults due to me updating libtorrent I guess, and rtorrent won't merge that PR yet :(

skydrome commented on 2015-11-18 21:20

thanks for reporting that, looks like the fix is waiting to be pulled in already.

TwoLeaves commented on 2015-11-18 13:39

Upon investigation the compile error I included in my last comment is an upstream rtorrent bug. I've reported the issue on the repo (

TwoLeaves commented on 2015-11-18 04:52

Getting this error during compilation:

g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I./.. -I../.. -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -DNDEBUG -Wall -std=c++11 -pthread -I/usr/include -MT download_factory.o -MD -MP -MF .deps/download_factory.Tpo -c -o download_factory.o In member function ‘void core::DownloadFactory::initialize_rtorrent(core::Download*, torrent::Object*)’: error: ‘const class torrent::DownloadInfo’ has no member named ‘mutable_dl_rate’
In file included from ./../rpc/command_map.h:45:0,
from ./../rpc/parse_commands.h:43,

skydrome commented on 2015-10-10 19:21

after upgrading ncurses, just recompile this package to have it relink

frriarch commented on 2015-10-10 19:04

I am getting this after updating to latest ncurses
"rtorrent: error while loading shared libraries: cannot open shared object file: No such file or directory"

At this moment I have symlink to and I know I should avoid doing it.

skydrome commented on 2015-08-18 16:01

updated the cksums

frriarch commented on 2015-08-18 14:52

I am getting this error ... FAILED
==> ERROR: One or more files did not pass the validity check!
==> ERROR: the build failed

skydrome commented on 2015-07-29 17:00

thanks, fixed now

dflt commented on 2015-07-27 20:08

curl: (22) The requested URL returned error: 404 Not Found
==> ERROR: Failure while downloading ps-ui_pyroscope_0.8.8.patch

skydrome commented on 2015-05-16 14:44

hey, since libsigc++ is a requirement, did you happen to somehow not have it installed? Also, try rebuilding libtorrent-pyro-git and then this again..

guiburgueira commented on 2015-05-13 20:12

I can't compile. The error:

Please fix!

skydrome commented on 2014-08-16 03:31

fixed, it compiles and runs fine again

kmicu commented on 2014-07-21 20:54

kingguru commented on 2014-06-25 23:36

Building currently fails for me with the error pasted here:

I'm guessing the relevant part is "error: ‘std::tr1’ has not been declared".

There is an interesting macro definition in the source (line 48):

#if (RT_HEX_VERSION >= 0x000901)
#define _cxxstd_ tr1
#define _cxxstd_ std

If I change that to simply:

#define _cxxstd_ std

As well changing this (line 243):

#if RT_HEX_VERSION < 0x000904
sigc::bind(sigc::mem_fun(*(ui::ElementDownloadList*)display, &ui::ElementDownloadList::receive_command),
std::tr1::bind(&ui::ElementDownloadList::receive_command, (ui::ElementDownloadList*)display,

To simply:

std::bind(&ui::ElementDownloadList::receive_command, (ui::ElementDownloadList*)display,

I am able to compile at least that source file. I did that based on a guess that tr1 support might have been removed from the recent GCC 4.9 I'm using and most of the functionality moved into the std namespace (eg. bind), which seems to be somewhat correct, although I haven't been able to confirm that (no mention of that in the GCC changelogs).

I will be happy too look further into this if it's a help, but I'm not really sure what the correct solution is. I have no idea RT_HEX_VERSION used in the PKGBUILD is for and autotools is not really something I'm strong in. :-)

skydrome commented on 2014-05-28 23:18

should be working now
use 'rtorrent -D' to allow deprecated commands until they are fixed in the PS patches

also there are some command name changes ive changed in the rtorrent.rc.sample, be sure to run a diff on it and make changes to your local copy

skydrome commented on 2014-05-28 22:58

should be working now
use 'rtorrent -D' to allow deprecated commands until they are fixed in the PS patches

nil0x42 commented on 2014-05-27 21:25

There is something wrong with the new version.
rtorrent throws a fatal error if at least one .torrent file is in the sessio directory:
rtorrent: Command "d.get_ratio" does not exist.

Note that i have not d.get_ratio in my .rtorrent.rc. If i remove all torrent files from session directory, rtorrents runs correctly, therefore, if a add a new torrent, the error is raised already.

sunite commented on 2013-12-15 21:31

I think in pkgver() `git log -1 --format="%cd" --date=short "$commit" |tr -d -` needs to be `git log -1 --format="%cd" --date=short "$_commit" |tr -d -`

skydrome commented on 2013-04-15 23:19

Ive updated the package with a better rtorrent.rc file for getting started with pyroscope's additional features. You'll find it in /usr/share/doc/rtorrent/rtorrent.rc.sample

Also you can choose to compile at specific commit such as 0.9.2 if you wish by editing the PKGBUILD. Keep in mind to do the same with the libtorrent pkgbuild if you do that.

nil0x42 commented on 2013-03-19 11:43

The remote file's md5 sum must be changed to '94f236bdf80c51f7bad7f6cd07cef58e', considering last changes.

Fandekasp commented on 2012-11-17 05:53

that was so damn easy ... Thank you very much for the support skydrome :)

skydrome commented on 2012-11-17 05:22

ah ok you seem to be a bit confused as to which to what this specific pkg provides. This is just rtorrent from compiled with pyroscope's patchset. The actual "pyroscope tools" is different and is something you might want to keep in your users home directory (which a pkgbuild will never touch).
So after this is installed you'll want to do this: then you can follow the rest of the wiki for configuring stuff

Fandekasp commented on 2012-11-17 00:23

skydrome, sorry. The install process uses a svn repo, not a git one. Is the git repo up to date ?

Otherwise, I would really love to see the extended pyroscope version. I would like to have this:

Do you think this is possible ?

skydrome commented on 2012-11-16 17:19

not sure what you are trying to ask. This is rtorrent from git with the extended patches applied.

Fandekasp commented on 2012-11-16 15:10

Hi there,

Could you do a package of the latest pyroscope ?

Would love to have the extended version, but I can't compile it from source (make errors without info, and after checking the requirements, I see that ncurses-dev is required, which is in ncurses in arch, therefore <ncursesw.h> must be renamed in <ncurrses.h>, etc). Hope you can fix those issues easily, thanks !

skydrome commented on 2012-06-27 00:31

someone else said it crashed when adding a torrent manually but i was unable to reproduce it, works here.
are you using load.start (backspace key)?

Anonymous comment on 2012-06-26 23:07

An addendum to my comment a moment ago - I seem to be able to add torrents if specifying them on launch with no problems.

Anonymous comment on 2012-06-26 23:04

I don't even know if this matters, since this is a -git package and therefore doesn't have any obligation to be stable, but rtorrent keeps crashing on attempting to add a torrent.

This is strange, because it seems to have loaded a torrent using a schedule and watch directory with no problems (but has refused to load others without crashing).

I've not got a lot of error output (methinks urxvtd has something to do with it) but it says something about a corrupted double-linked list.