How to get ruTorrent work with magnet links on ReadyNAS Duo

bittorrentreadynasrtorrent

For some reason I cannot get ruTorrent to work with magnet links. The UI happily logs torrent was successfully passed to rTorrent but no torrent is added and no downloads are started. I cannot find any logs supplying an error message with more information. Please note that adding an old fashioned torrent file works well, only the magnet links does not work.

Setup

  • ReadyNas Duo (on internal network)
    • RAIDiator 4.1.8
    • PHP5 add on (v5.3.10-rnsparc-4.1.2)
    • ruTorrent add on (v3.3-rnsparc-0.2.3)
  • Router connected to Internet (forwarding port 6881 and 50000-55000 to ReadyNas, both TCP and UDP)

My first attempt was to install PHP and ruTorrent add-ons using Frontview interface and accept all default parameters. My second attempt (with lots of variations) has been to follow this guide and create a rtorrent.rc configuration file and vary the parameters.

Any ideas on how I should proceed with my troubleshooting? According to ruTorrents web page magnet links are supported since a few versions back.

EDIT:
It seems as if rTorrent added support for magnet links in version 0.8.7, whereas the above add-on installs version 0.8.6. Updated question: Is there a way to get magnet links work with r(u)Torrent on the ReadyNAS Duo?

EDIT 2:
I tried to compile a newer version of rTorrent but failed. Steps:

apt-get install libc6-dev gcc gdb libtag1-dev uuid-dev
apt-get install coreutils pkg-config g++ libncurses-dev libssl-dev libsigc++-2.0-dev curl libcurl4-openssl-dev libsigc++-2.0-0

# Compile libtorrent 0.12.9 (required for rTorrent 0.8.9)
cd /; wget libtorrent.rakshasa.no/downloads/libtorrent-0.12.9.tar.gz; tar -xvvzf libtorrent-0.12.9.tar.gz; cd libtorrent-0.12.9; ./configure sparc-linux; make; make install;
# Configure works, make failes with the below error
../../torrent/utils/extents.h:40:21: tr1/array: No such file or directory

I then tried compiling rTorrent 0.8.7, which is after all the version where magnet links were introduced:

# Compile libtorrent 0.12.7 (required for rTorrent 0.8.7)
cd /; wget libtorrent.rakshasa.no/downloads/libtorrent-0.12.7.tar.gz; tar -xvvzf libtorrent-0.12.7.tar.gz; cd libtorrent-0.12.7; ./configure sparc-linux; make; make install; 
# Configure works, make failes with the below error
In file included from poll_epoll.cc:48:
thread_base.h: In static member function `static void 
   torrent::ThreadBase::acquire_global_lock()':
thread_base.h:74: error: `__sync_add_and_fetch' undeclared (first use this 
   function)
thread_base.h:74: error: (Each undeclared identifier is reported only once for 
   each function it appears in.)
thread_base.h:76: error: `__sync_sub_and_fetch' undeclared (first use this 
   function)
thread_base.h: In static member function `static void 
   torrent::ThreadBase::entering_main_polling()':
thread_base.h:101: error: `__sync_lock_test_and_set' undeclared (first use this 
   function)
thread_base.h: In static member function `static void 
   torrent::ThreadBase::leaving_main_polling()':
thread_base.h:106: error: `__sync_lock_test_and_set' undeclared (first use this 
   function)

According to this ticket it seems as if GCC>=4.2.1 is required (my ReadyNas Duo has GCC 3.3.5) and according to this post it seems as if it is not possible to get GCC>=4.1.1 to work on the ReadyNas Duo. It seems as if I'm out of luck on this one.

Best Answer

It takes a while for magnet links to find the torrent specification so the "real" download can start. The peers are found via trackers and/or DHT. If the trackers are down (or just take a long time to respond) or no peers are found, the torrent can't download the needed meta information to start.

Try adding the torrent directly in rTorrent's command-line interface. This can be done by simply giving the magnet link as torrent path (if you have rTorrent >= 0.8.9 ). Start this torrent, and when the "real" torrent information is received, it will rename itself to the wanted file specifier. If this doesn't work either, then the issue is not with ruTorrent, at least. To remove rTorrent from the equation completely you'd have to try the torrent in another application.

If you are the initial seeder of the torrent, you may have greater problems since I don't believe rTorrent can seed the torrent in itself yet. Someone can gladly counter me with working examples, and I have not tried it myself, but it's what I've heard.

Related Question