rTorrent: cliente de BitTorrent en modo texto para linux
Con el reciente cierre de Megaupload y el consecuente éxodo de muchos desde la descarga directa a las redes P2P, aprovecho para explicar cómo suelo descargar yo, rescatando una entrada que me rondaba por la cabeza desde hace tiempo.
Habitualmente uso rTorrent (cliente de BitTorrent) desde linux en consola conectándome remotamente por SSH. "Menuda frikada", diréis algunos, y seguramente tendréis razón, pero dejad que me explique.
Para empezar hay que entender unos cuantos conceptos del mundillo del BitTorrent.
- Peer
- cada uno de los usuarios que tienen un torrent activo, independientemente de que sean leechers o seeders. P2P significa "Peer to peer", es decir, de usuario a usuario.
- Leecher
- sanguijuela, los que están bajando un fichero. Al mismo tiempo comparten.
- Seeder
- semilla, alguien que tiene un fichero completo y está compartiéndolo sin bajar ya nada.
- Tracker
- servidor que facilita la conexión entre peers y que aloja los ficheros .torrent.
- Torrent
- fichero con información sobre el archivo a descargar. Para poder interpretarlo hace falta un cliente BitTorrent (rTorrent en mi caso).
- Ratio
- relación entre lo que se comparte (se sube) y lo que se baja. Si subes lo mismo que descargas tendrás un ratio de 1. Si subes el doble de lo que descargas, el ratio será de 2 y si subes la mitad de lo que descargas, tu ratio será de... sí, ¡exacto!: 0.5.
Mucha gente piensa que BitTorrent es muy lento, pero esto se debe a que la gente suele dejar de compartir en cuanto tiene lo que quiere y así te encuentras con que no quedan seeders o hay muy pocos y en cambio leechers hay un montón. De ahí que para conseguir rapidez haya que mirar hacia los trackers privados o limitarse a bajar cosas que estén muy solicitadas y que no lleven mucho tiempo disponibles.
Un tracker privado se diferencia de uno público en que hay que estar registrado para poder descargar. Este registro suele ser por invitación de algún usuario actual. Ahorraos pedir invitaciones en los comentarios, porque actualmente no tengo ninguna. En los trackers privados lo que prima es tener un ratio alto, ya que suelen tener estrictas normas al respecto: ratio mínimo de entre 0.8 y 1.0 y un tiempo mínimo de seedeo (compartición) de 24-96 horas. No cumplir estas normas suele conllevar la expulsión del usuario. En España con nuestras conexiones extremadamente asimétricas (con una mierda de velocidad de subida, hablando en plata) podéis pasar apuros en estos trackers, especialmente si son extranjeros. Para paliar esto mucha gente ha optado por alquilar un servidor remoto (los hay con una velocidad de 100 Mb/s simétricos, por ejemplo) y usarlo para las descargas. Del servidor a casa sería cuestión de bajar por descarga directa o por FTP/sFTP.
Este post, y otros que le seguirán, va a estar orientado a servidores con Ubuntu server 11.10, aunque debería ser igualmente válido para otras versiones de Ubuntu y Debian, quizá con alguna pequeña variación en algunos casos. La razón de esta orientación es que es lo que yo tengo y he probado. Por supuesto, no tiene que ser uno de esos servidores dedicados alquilados, sirve igualmente un ordenador que tengáis en casa, aunque en ese caso quizá sea conveniente cambiar alguna cosa en la configuración, eso ya tendréis que juzgarlo vosotros.
Pero basta ya de cháchara, entremos en faena.
rTorrent 0.8.9 y libTorrent 0.12.9 son las últimas versiones estables a día de hoy. También están disponibles rTorrent 0.9 y libTorrent 0.13, pero son inestables. En cualquier caso, podréis encontrar todas las versiones en http://libtorrent.rakshasa.no/downloads/.
Antes de nada, recomiendo crear una carpeta rtorrent en vuestra home para ir descargando ahí todo lo necesario:
mkdir ~/rtorrent
Descarga e instalación de libTorrent.
cd ~/rtorrent/ wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.9.tar.gz tar -xvf libtorrent-0.12.9.tar.gz cd libtorrent-0.12.9/ ./configure
Es más que posible que el ./configure dé algunos problemas por falta de paquetes, simplemente es cuestión de instalar los que diga que faltan con un:
sudo apt-get install nombre_del_paquete
Y volver a intentarlo. Ver actualización.
Uno de los paquetes necesarios es pkg-config, por tanto si no lo tenéis, lo tendríais que instalar así:
sudo apt-get install pkg-config
Para mí fue especialmente problemático este error:
checking for OPENSSL... no configure: error: Package requirements (openssl) were not met: No package 'openssl' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables OPENSSL_CFLAGS and OPENSSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
Así que si a vosotros también os sale, os ahorro la molestia de andar buscando solución y os la doy yo directamente:
sudo apt-get install libssl-dev
Y ahora la parte que menos problemas debería dar, la compilación (que tarda un rato) y la instalación en sí:
make sudo make install
Descarga e instalación de rTorrent.
cd ~/rtorrent/ wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.9.tar.gz tar -xvf rtorrent-0.8.9.tar.gz cd rtorrent-0.8.9/
A continuación si se quiere rTorrent con soporte para colores (yo lo recomiendo), hay que bajar y aplicar un parche para ello. Yo el tarball con el parche lo descargué del Arch Linux User Repository:
cd ~/rtorrent/ wget https://aur.archlinux.org/packages/rt/rtorrent-color/rtorrent-color.tar.gz tar -xvf rtorrent-color.tar.gz cd rtorrent-color/ cp rtorrent-0.8.9_canvas_color.patch ~/rtorrent/rtorrent-0.8.9/src/ cd ~/rtorrent/rtorrent-0.8.9/ patch -uNp1 -i ~/rtorrent/rtorrent-0.8.9/src/rtorrent-0.8.9_canvas_color.patch
Ahora toca configurar rTorrent, compilarlo e instalarlo:
./configure --libdir=/usr/local/lib make sudo make install
Como antes, es posible que al hacer el ./configure falten algunos paquetes que habrá que instalar con un apt-get install (ver actualización). Estos son los errores que me salieron a mí y los paquetes que tuve que instalar:
The ncurses library is required!:
sudo apt-get install libncurses5-dev
No package 'libcurl' found:
sudo apt-get install libcurl4-openssl-dev
Con esto quedaría zanjada la instalación del cliente de BitTorrent, dejo su configuración y uso para el siguiente post, que no debería tardar mucho. Y este es el aspecto que tendría el rTorrent en funcionamiento:

Actualización 14-02-2012: como dice eth0 en los comentarios, hay una forma mucho más sencilla y cómoda de resolver las dependencias antes de compilar:
sudo apt-get build-dep nombre_del_paquete_a_compilar
- The libTorrent and rTorrent Project: la web oficial de libTorrent y rTorrent. Contiene información sobre su instalación, configuración, uso y demás.
- Entre tuxes y pepinos - ¿Conocías… rtorrent?: post muy antiguo y en un blog que lleva sin actualizarse más de 3 años, pero fue donde yo me enteré de la existencia de rtorrent y aprendí a configurarlo; tenía que mencionarlo.
- jasonwryan - Building rtorrent on Debian Squeeze: el tutorial que seguí para instalar rTorrent 0.8.9 y libTorrent 0.12.9 esta última vez y que ha servido de base en parte para esta entrada.
39 comentarios
No puedo espera para leer el resto de post de la serie!!!! 😛
Pues paciencia, que están en proceso 😉
Para evitar ese lío de “falta la librería tal”/“falta el paquete cual”, basta con dejarle el trabajo a apt:
sudo apt-get build-dep rtorrent
Ese comando te instala las dependencias necesarias para compilar el rTorrent. 😉
Ah, pues no lo sabía. Esto me ahorrará un montón de trabajo absurdo en el futuro. Muchas gracias.
HOLA!
Gran tutorial, intentando profundizar un poco, estoy intentando que me mueva los torrents acabados a otra carpeta, pero no me hace caso:
system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,~/Descargas/Descargados/ ;d.set_directory=~/Descargas/Descargados/"
donde puede estar el problema?
Gracias
Ya te contesté en el comentario que dejaste en el post sobre la configuración y uso de rTorrent, pero lo hago aquí también.
No sé qué puede estar pasando, la configuración que pones parece perfectamente correcta. Lo único que se me ocurre es que te asegures de que los nombres de los directorios son exactamente esos y de que esa configuración esté toda en una sola línea (aunque realmente no sé si eso influirá). Por otro lado, la configuración del post es para versiones recientes de rTorrent y esa línea concretamente solo funciona en la versión 0.8.4 o superior.
Un saludo y suerte con tu problema.
Buenas tardes,
Gracias por contestar tan rapido,
El tema es que tengo la version Rakshasa's BitTorrent client version 0.8.9.
El directorio es correcto, lo que no se es si realmente tienes que ponerle el mismo directorio(directorio final) en las dos variables
Llevo varios dias leyendo y parece ser que un posible fallo es por la funcion finished que la aplicacion no marca correctamente los torrents una vez terminados.
Se te ocurre algo mas?
Muchas gracias
Pues ni idea de qué puede ser entonces. Lo de las dos variables que dices está bien, o algo menos así lo ponen también en RTorrentCommonTasks (web oficial).
Por ultimo y muchas gracias por contestar,
Pense buscar la alternativa de:
Create symbolic links to indicate the download state
pero cuando lo añado a la configuracion de rtorrent me dice que la funcion, por ejemplo on_start, no existe, el sistema operativo es fedora.
Sabes si tengo que añadir/instalar algo para que reconozca la funcion?
on_start = link1,"create_link=tied,,.started"
on_stop = link1,"delete_link=tied,,.started"
on_finished = link1,"create_link=tied,,.finished"
on_erase = link1,"delete_link=tied,,.finished"
Me temo que no he usado nunca esa función, así que ya me pierdo un poco.
hola, hace unos días que descubrí rtorrent y me encanta. yo lo instalé desde los repositorios de Debian y lo configuré siguiendo un articulo de la wiki de Arch.
tras instalar no encontré el archivo de configuración en mi sistema y me descargué el que viene en la wiki.
pero no trae la opción de poner los archivos de diferentes colores.
¿este parche que instalas en esta guía es para ese fin?
¿me valdría ese parche para mi instalación o tendría que compilar rtorrent también?
un saludo
Hola y bienvenido a este blog
El parche se aplica al código fuente de rtorrent, así que tras hacerlo hay que compilar para que funcione con el cambio. Así que, contestando a tus preguntas: el parche sirve para eso y te serviría, pero la compilación me temo que es necesaria.
Un saludo y gracias por comentar
usa:
system.method.set_key = event.download.opened, link1, "create_link=base_filename,/directorio/,.started"
system.method.set_key = event.download.closed, link1, "delete_link=base_filename,/directorio/,.started"
system.method.set_key = event.download.finished, link1, "delete_link=base_filename,/directorio/,.started"
Muchas gracias por la información. Espero que Miguel lo lea y le sea de ayuda.
Un saludo
Eyyyy estoy intentando instalar esto paso a paso, pero sin darme ningun problema al terminar y ejecutar el rtorrent me da este error:
rtorrent: Tried to redirect to a key that doesn't exist: 'colors.done_fg_color.set'.
Alguna idea??
Al final he tenido que instalarlo sin colorines...
Tiene pinta de ser un error en la configuración de los colores. Hablo de ello en rTorrent:configuración y uso, la continuación de este post, al final del primer apartado. Básicamente se usarían las siguientes líneas:
Esto pondría las descargas en curso en rojo y las completadas en verde. Los posibles colores son: 0 = negro, 1 = rojo, 2 = verde, 3 = amarillo, 4 = azul, 5 = magenta, 6 = cian, 7 = blanco.
Así que busca en el fichero de configuración (.rtorrent.rc) alguna línea en la que salga colors.done_fg_color.set y sustituyelo por lo que comento arriba. Ya me dirás si lo arreglas.
checking for OPENSSL... no
configure: error: Package requirements (openssl) were not met:
No package 'openssl' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables OPENSSL_CFLAGS
and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Sumado a que CentOS no te permite usar SUDO 🙁
como root isntalo openssl y aun me sigue dando el mismo problema...
Favor tu ayuda,.
Prueba a instalar el paquete openssl-dev. En CentOS, si no recuerdo mal, era:
A ver si con esto se soluciona.
jaja. mucha gracias, pero donde pense que el SUDO serian un problema... me cambie a Ubuntu 11.04 y me aparece el mismo problema.
*******************
dark@ubuntu:~/rtorrent/libtorrent-0.12.9$ sudo apt-get install OPENSSL
[sudo] password for dark:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package OPENSSL
dark@ubuntu:~/rtorrent/libtorrent-0.12.9$ sudo apt-get build-dep openssl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
debhelper html2text libmail-sendmail-perl libsys-hostname-long-perl m4
po-debconf zlib1g-dev
0 upgraded, 7 newly installed, 0 to remove and 320 not upgraded.
Need to get 1,269 kB of archives.
After this operation, 3,744 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/main html2text i386 1.3.2a-15 [101 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ natty/main po-debconf all 1.0.16+nmu1 [212 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ natty/main debhelper all 8.1.2ubuntu4 [482 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ natty/main libsys-hostname-long-perl all 1.4-2 [11.4 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu/ natty/main libmail-sendmail-perl all 0.79.16-1 [26.5 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu/ natty/main m4 i386 1.4.14-3 [276 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu/ natty/main zlib1g-dev i386 1:1.2.3.4.dfsg-3ubuntu3 [160 kB]
Fetched 1,269 kB in 6s (202 kB/s)
Selecting previously deselected package html2text.
(Reading database ... 130219 files and directories currently installed.)
Unpacking html2text (from .../html2text_1.3.2a-15_i386.deb) ...
Selecting previously deselected package po-debconf.
Unpacking po-debconf (from .../po-debconf_1.0.16+nmu1_all.deb) ...
Selecting previously deselected package debhelper.
Unpacking debhelper (from .../debhelper_8.1.2ubuntu4_all.deb) ...
Selecting previously deselected package libsys-hostname-long-perl.
Unpacking libsys-hostname-long-perl (from .../libsys-hostname-long-perl_1.4-2_all.deb) ...
Selecting previously deselected package libmail-sendmail-perl.
Unpacking libmail-sendmail-perl (from .../libmail-sendmail-perl_0.79.16-1_all.deb) ...
Selecting previously deselected package m4.
Unpacking m4 (from .../archives/m4_1.4.14-3_i386.deb) ...
Selecting previously deselected package zlib1g-dev.
Unpacking zlib1g-dev (from .../zlib1g-dev_1%3a1.2.3.4.dfsg-3ubuntu3_i386.deb) ...
Processing triggers for man-db ...
Processing triggers for doc-base ...
Processing 34 changed 1 added doc-base file(s)...
Registering documents with scrollkeeper...
Processing triggers for install-info ...
Setting up html2text (1.3.2a-15) ...
Setting up po-debconf (1.0.16+nmu1) ...
Setting up debhelper (8.1.2ubuntu4) ...
Setting up libsys-hostname-long-perl (1.4-2) ...
Setting up libmail-sendmail-perl (0.79.16-1) ...
Setting up m4 (1.4.14-3) ...
Setting up zlib1g-dev (1:1.2.3.4.dfsg-3ubuntu3) ...
********
dark@ubuntu:~/rtorrent/libtorrent-0.12.9$ ./configure
********
luego de intentar otra vez me dio el mismo error...
checking for OPENSSL... no
configure: error: Package requirements (openssl) were not met:
No package 'openssl' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables OPENSSL_CFLAGS
and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
dark@ubuntu:~/rtorrent/libtorrent-0.12.9$
Haber si me puedes ayudar.
Gracias.
Inténtalo con:
Gracias... ahora me pidio otro paquete pero se instalo facil... seguire y te cuento... solo por curioso... mira que encontre el server de uTorrent para linux y es a prueba de politicos... se descomprime y ejecuta sin nada mas 🙂
La curiosidad es buena, así se aprende 😉
Amigo:
El parche canvascolor que baje era otra version... espero eso nos ea problema por que ahora tengo este error...
dark@ubuntu:~/rtorrent/rtorrent-0.8.9$ make
make: *** No targets specified and no makefile found. Stop.
Favor tu ayuda ...otra vez... 🙂
mmmmm al parecer el problema viene de antes>
dark@ubuntu:~/rtorrent/rtorrent-0.8.9$ ./configure --libdir=/usr/local/lib
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for user-defined CXXFLAGS... user-defined "-g -O2"
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for execinfo.h... no
checking for proper overloaded template function disambiguation... yes
checking for sysroot... no
checking for library containing add_wch... no
checking for library containing wbkgdset... no
*** The ncurses library is required!
Prueba lo que dijo eth0 en un comentario anterior:
Y te ahorras instalar dependencias una a una.
~/rtorrent$ sudo apt-get build-dep ncurses
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
dark@ubuntu:~/rtorrent/rtorrent-0.8.9$ ./configure --libdir=/usr/local/lib
checking for sysroot... no
checking for library containing add_wch... no
checking for library containing wbkgdset... no
*** The ncurses library is required!
🙁
Hazlo con rtorrent y con libtorrent, no con ncurses, así te instalará las dependencias de rtorrent y libtorrent, incluyendo ncurses:
Gracias... de a poco me estoy des oxidando 🙂
Ahora em sale este error, al aprecer em falta una rchivo... pero si es asi... de donde lo saco?
dark@ubuntu:~/rtorrent/rtorrent-0.8.9$ make
************************************************
make[3]: Entering directory `/home/dark/rtorrent/rtorrent-0.8.9/src/display'
g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I./.. -I../.. -g -O2 -g -DDEBUG -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/local/include -MT canvas.o -MD -MP -MF .deps/canvas.Tpo -c -o canvas.o canvas.cc
In file included from canvas.h:43:0,
from canvas.cc:44:
attributes.h:42:21: fatal error: ncurses.h: No such file or directory
compilation terminated.
make[3]: *** [canvas.o] Error 1
make[3]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9/src/display'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9'
make: *** [all] Error 2
Gracias TOTALES
¿No te ha dado error el ./configure? Hazlo de nuevo por si acaso antes del make (y después de los comandos que te dije antes).
dark@ubuntu:~/rtorrent$ cd rtorrent-0.8.9/
dark@ubuntu:~/rtorrent/rtorrent-0.8.9$ ./configure --libdir=/usr/local/lib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for cppunit-config... no
checking for Cppunit - version >= 1.9.6... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %sn
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for user-defined CXXFLAGS... user-defined "-g -O2"
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for execinfo.h... no
checking for proper overloaded template function disambiguation... yes
checking for sysroot... no
checking for library containing add_wch... -lncursesw
checking sys/vfs.h usability... yes
checking sys/vfs.h presence... yes
checking for sys/vfs.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/statfs.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking for statvfs... ok
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for sigc... yes
checking for libcurl... yes
checking for libtorrent... yes
checking for XMLRPC-C... ignored
checking for posix_memalign... yes
checking for cacheline... using default 128 bytes
checking if compiler supports __attribute__((unused))... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating src/core/Makefile
config.status: creating src/display/Makefile
config.status: creating src/input/Makefile
config.status: creating src/rpc/Makefile
config.status: creating src/ui/Makefile
config.status: creating src/utils/Makefile
config.status: creating test/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
--------
make
*******
make all-recursive
make[1]: Entering directory `/home/dark/rtorrent/rtorrent-0.8.9'
Making all in doc
make[2]: Entering directory `/home/dark/rtorrent/rtorrent-0.8.9/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9/doc'
Making all in src
make[2]: Entering directory `/home/dark/rtorrent/rtorrent-0.8.9/src'
Making all in core
make[3]: Entering directory `/home/dark/rtorrent/rtorrent-0.8.9/src/core'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9/src/core'
Making all in display
make[3]: Entering directory `/home/dark/rtorrent/rtorrent-0.8.9/src/display'
g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I./.. -I../.. -g -O2 -g -DDEBUG -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/local/include -MT canvas.o -MD -MP -MF .deps/canvas.Tpo -c -o canvas.o canvas.cc
In file included from canvas.h:43:0,
from canvas.cc:44:
attributes.h:42:21: fatal error: ncurses.h: No such file or directory
compilation terminated.
make[3]: *** [canvas.o] Error 1
make[3]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9/src/display'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dark/rtorrent/rtorrent-0.8.9'
make: *** [all] Error 2
dark@ubuntu:~/rtorrent/rtorrent-0.8.9$
Al parecer el error esta en el MAKE...
bueno despeus de un rato... pille una instalacion extra
$ sudo apt-get install libncurses5-dev
Ahora se supone que estoy bien y debo seguir con el otro tutorial 🙂
Si da muuuchos problemas para instalarlo, y usas ubuntu por ejemplo ...
sudo aptitude install rtorrent
(no olvidar: sudo apt-get install libssl-dev )
Funciona perfecto, solo que no lleva el patch para los cambiar los colores 🙂
Buenas, le felicito por publicar un tutorial muy claro y conciso de como instalar rtorrent.
Primero había instalado con el comando:
sudo aptitude install rtorrent
Y no me dio ningún problema, e incluso se me baja películas ningún problema. Pero quería explorar un poco más, y era el caso de añadir estilos, como colores. Seguí todos los pasos, solucionando pequeños problemas de librerías y finalmente pude compilar todo.
El caso es que al ejecutar el programa me salta el siguiente error:
rtorrent: symbol lookup error: rtorrent: undefined symbol: _ZN7torrent10ThreadBase8m_globalE
Eso está ejecutando bajo linux del raspberry pi con la siguiente versión:
Linux xbian 3.6.11+ #4 PREEMPT Fri Dec 21 00:31:02 CET 2012 armv6l GNU/Linux
Mirando por internet, este mismo problema tienen los quien usan CentOS, pero no doy con ello. ¿Parece que es un error de variable? Si ha compilado bien.....será cosa del sistema operativo Linux XBIAN?
Saludos!
Muchas gracias, me alegro de que te guste
¿Has instalado libTorrent o solo rTorrent? Si solo ha sido rTorrent, prueba a instalar también libTorrent como explico en la entrada. Cada versión de rTorrent tiene su correspondiente versión de libTorrent y es posible que la que tienes de uno no se corresponda con la del otro.
Si esto no resuelve el problema puedes intentar desinstalar ambos y volver a instalar. Otra cosa no se me ocurre, nunca he usado xbian ni he probado una raspberry pi, así que no sé es complicado. Lo que sí he visto es que el problema no es exclusivo de CentOS, también en Ubuntu puede pasar.
Espero que finalmente puedas resolver el problema, ¡suerte!
Hola, perdona por no aclarar al principio. Inicialmente había instalado rtorrent normal y funcionaba bien. Luego lo desinstalé e instalé desde cero todos los pasos de este blog incluído todas la librerías, con los mismos errorres que te dió y solucionado con mas librerías. Todo perfecto. Sólo da ese error que te comenté.
Probaré con las otras distribuciones a ver si es cosa de la versión del SO.
Saludos.
Pues ni idea entonces. Espero que con otra distribución te vaya mejor y siento no haberte sido de más ayuda.
Hola, muy buen tutorial sin embargo al momento de hacer make me aparece este error:
make all-recursive
make[1]: se ingresa al directorio «/home/myrlog/rtorrent/rtorrent-0.9.2»
Making all in doc
make[2]: se ingresa al directorio «/home/myrlog/rtorrent/rtorrent-0.9.2/doc»
make[2]: No se hace nada para «all».
make[2]: se sale del directorio «/home/myrlog/rtorrent/rtorrent-0.9.2/doc»
Making all in src
make[2]: se ingresa al directorio «/home/myrlog/rtorrent/rtorrent-0.9.2/src»
Making all in core
make[3]: se ingresa al directorio «/home/myrlog/rtorrent/rtorrent-0.9.2/src/core»
g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I./.. -I../.. -g -O2 -g -DDEBUG -pthread -I/usr/include/sigc++-2.0 -I/usr/lib/i386-linux-gnu/sigc++-2.0/include -I/usr/local/include -MT manager.o -MD -MP -MF .deps/manager.Tpo -c -o manager.o manager.cc
manager.cc: En la función miembro ‘void core::Manager::set_address_throttle(uint32_t, uint32_t, torrent::ThrottlePair)’:
manager.cc:197:34: error: ‘class torrent::ConnectionManager’ no tiene un miembro llamado ‘set_address_throttle’
manager.cc: En la función miembro ‘void core::Manager::initialize_second()’:
manager.cc:213:34: error: ‘class torrent::ConnectionManager’ no tiene un miembro llamado ‘set_signal_handshake_log’
make[3]: *** [manager.o] Error 1
make[3]: se sale del directorio «/home/myrlog/rtorrent/rtorrent-0.9.2/src/core»
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio «/home/myrlog/rtorrent/rtorrent-0.9.2/src»
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio «/home/myrlog/rtorrent/rtorrent-0.9.2»
make: *** [all] Error 2
El ./configure no me da ningún error.
Saludos.
Pues siento no poder ayudarte, pero nunca me ha dado ese error y buscando por internet no he encontrado ninguna posible solución, solo una incidencia en GitHub ya cerrada pero sin respuesta.
Se me ocurre que vuelvas a bajarte el .tar.gz y lo intentes de nuevo por si acaso al que bajaste le faltaba algo o que pruebes con la versión 9.3 a ver si tienes más suerte, aunque no es una versión estable.
Y por supuesto, si alguien más lee esto y sabe una posible solución, que la comparta.