Ооп!! А тут ничего нету... :-)
Главная > How To, Ubuntu > Собираем rTorrent из исходников

Собираем rTorrent из исходников

(2 голосов, средний: 5,00 из 5)
Loading ... Loading ...

rTorrentПри установке rTorrent из репозитария мы получаем очень старую версию. И все бы ничего, но библиотека xmlrpc-c, тоже очень древняя и как в следствие мы получаем урезанное Gui управление. Например в моем любимом ruTorrent невозможно даже управлять скоростью закачки. Так же с rTorrent бывают проблемы на некоторых трекерах, хотя может все дело в конфиге , так что последняя сборка нам не помешает!

Появилась более свежая и полная статья!

Ничего военного в компиляции нету, но все же лучше потренироваться где нить на виртуальной машине :)

План прост как никогда, мы ставим xmlrpc-c. Потом libtorrent. Ну и на закуску нашего клиента с поддержкой xmlrpc . Исходники будем забирать по SVN. Это удобно и так будет легко следить за последними билдами.

Нам потребуется следуюшее, тут много чего но может не все. При сборке должно будет высветиться нужные еше пакеты.

sudo apt-get install checkinstall subversion build-essential make autoconf autotools-dev automake libtool libcurl4-openssl-dev libsigc++-2.0-dev pkg-config libncurses5-dev

Теперь нам надо удалить старые установленные пакеты, если они есть.

sudo apt-get remove rtorrent libtorrent11 libxmlrpc-c3 libxmlrpc-c3-dev libxmlrpc-core-c3 libxmlrpc-core-c3-dev

Небольшое отступление. Наверное все слышали про make install, но этот способ далек от идеала. Система не знает о программе, бинарники валяются где им хочется и главное их потом сложно удалить. Для этого придумали такую штуку как checkinstall. Она собирает нормальный deb пакет, привычный для системы. Я буду пользоваться этим способом. Но так же можно и старым.

В последних версиях svn твориться какая-то фигня, а ruTorrent 3.0 поддерживае rTorrent до 1148 билда (это ‘-r1148′ ключ к svn). Так что я приведу еше рабочие строчки для сборки из заархивированных пакетов с сайта. Проверено на Ubuntu Server 10.04 beta1.

svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c
./configure --prefix=/usr
make
sudo checkinstall -D

cd ..
# svn co svn://rakshasa.no/libtorrent/trunk
# cd trunk
# cd libtorrent
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar zxfv libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
./autogen.sh
./configure --prefix=/usr
make
sudo checkinstall -D

# cd ../rtorrent
cd ..
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
tar zxfv rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
./autogen.sh
./configure --with-xmlrpc-c --prefix=/usr
make
sudo checkinstall -D

Вот в общем и все, теперь настраивать сам клиент кликаем

Статья написана по мотивам темы на форуме и Этой статьи, спасибо ее Автору за сборку xmlrpc

Categories: How To, Ubuntu Tags: , ,
  1. chudlo
    26 Октябрь 2009 в 12:48 | #1

    svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
    cd xmlrpc-c
    ./configure —prefix=/usr
    make
    sudo checkinstall -D

    заканчивается с ошибкой создания пакета по причине отсутствия версии. че делать?

  2. Admin
    26 Октябрь 2009 в 21:33 | #2

    Во первых, у prefix два тире. (или это опять бага с html текстом?)
    А во вторых, Когда создается пакет, он предлагает вбить имя, описание, версию и др. Вы установили там версию пакета? Можно вбить например номер билда 1822
    И скопируйте пожалуйста ошибку на англ.

  3. mhst
    7 Ноябрь 2009 в 23:31 | #3

    при чекинстале,когда попросят нажми 3 и укажи версию,ошибко исчезнет:)
    Например:
    Этот пакет был создан с использованием данных значений:

    0 — Maintainer: [ root@myhost-desktop ]
    1 — Summary: [ Package created with checkinstall 1.6.1 ]
    2 — Name: [ rtorrent ]
    3 — Version: [ ]
    4 — Release: [ 1 ]
    5 — License: [ GPL ]
    6 — Group: [ checkinstall ]
    7 — Architecture: [ i386 ]
    8 — Source location: [ rtorrent ]
    9 — Alternate source location: [ ]
    10 — Requires: [ ]
    11 — Provides: [ rtorrent ]

  4. Rockon
    7 Февраль 2011 в 19:48 | #4

    с ./configure —prefix=/usr —with-xmlrpc-c пилиться будет. У вас похоже ошибка

  5. Admin
    7 Февраль 2011 в 20:09 | #5

    Я извиняюсь, что будет? пилиться?!

  6. FoxyToxy
    22 Февраль 2011 в 17:01 | #6

    Большое спасибо за инструкцию. Мне, как новичку, очень помогла сделать всё быстро и просто. Всё теперь в rTorrent нет проблем с размерами файлами и т.п.
    Хотел бы только поделиться теми камнями, которые мне попались на пути:
    1. Ошибка с неудовлетворёнными зависимостями при установке libcurl4-openssl-dev.
    Достаточно просто удалить libcurl3:
    apt-get remove libcurl3
    2. Неизвестный макрос AM_PATH_CPPUNIT при сборке libtorrent.
    Достаточно просто установить cppunit:
    apt-get install libcppunit-dev
    3. На libtorrent.rakshasa.no лежат более позднии версии пакетов, чем в статье — но они сырые и не совместимы с ruTorrent, потому могут падать при его использовании.
    Надеюсь эта информация кому-нибудь поможет :)

  7. Dmitry
    31 Март 2011 в 00:01 | #7

    Swo-pc:~/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7$ sudo checkinstall -D

    checkinstall 1.6.2,

    0 — Maintainer: [ root@Swo-pc ]
    1 — Summary: [ libtor0127 ]
    2 — Name: [ libtorrent ]
    3 — Version: [ 0.12.7 ]
    4 — Release: [ 1 ]
    5 — License: [ GPL ]
    6 — Group: [ checkinstall ]
    7 — Architecture: [ amd64 ]
    8 — Source location: [ libtorrent-0.12.7 ]
    9 — Alternate source location: [ ]
    10 — Requires: [ ]
    11 — Provides: [ libtorrent ]
    12 — Conflicts: [ ]
    13 — Replaces: [ ]

    Введите номер для изменения параметра или нажмите ВВОД для продолжения:

    Installing with make install…

    ========================= Результаты установки ===========================
    Making install in src
    make[1]: Вход в каталог `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src’
    Making install in torrent
    make[2]: Вход в каталог `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src/torrent’
    Making install in data
    make[3]: Вход в каталог `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src/torrent/data’
    make[4]: Вход в каталог `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src/torrent/data’
    make[4]: Цель `install-exec-am’ не требует выполнения команд.
    test -z «/usr/include/torrent/data» || /bin/mkdir -p «/usr/include/torrent/data»
    /bin/mkdir: невозможно создать каталог «/usr/include/torrent»: Нет такого файла или каталога
    make[4]: *** [install-libtorrentincludeHEADERS] Ошибка 1
    make[4]: Выход из каталога `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src/torrent/data’
    make[3]: *** [install-am] Ошибка 2
    make[3]: Выход из каталога `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src/torrent/data’
    make[2]: *** [install-recursive] Ошибка 1
    make[2]: Выход из каталога `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src/torrent’
    make[1]: *** [install-recursive] Ошибка 1
    make[1]: Выход из каталога `/home/dmitry/svn_rtorrent/trunk/libtorrent/libtorrent-0.12.7/src’
    make: *** [install-recursive] Ошибка 1

    **** Установка неудачна. Отменяется создание пакета.
    Очищается…OK
    Удачи.

    В чём может быть проблема
    и верси 0,12,6 с такой же ошибкой вылетает

  8. Admin
    31 Март 2011 в 08:45 | #8

    Ухх, не обязательно весь вывод копировать в коммент((
    Какой у вас дистрибутив? SVN лучше не трогать.

  9. Dmitry
    31 Март 2011 в 22:49 | #9

    @Admin
    ubuntu 10.10 я инстулин не из свн а
    качал
    wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.7.tar.gz
    и распаковывал просто в папу svn_rtorrent

  10. Dmitry
    31 Март 2011 в 23:01 | #10

    @Admin
    зм странно написал sudo make install закомпилися
    после sudo checkinstall -D сосбрал деб пакет и установился %)

  11. Admin
    31 Март 2011 в 23:14 | #11

    @Dmitry
    Вы не верите в магию ?! Тогда мы идем к вам :-)

  12. Dmitry
    2 Апрель 2011 в 07:43 | #12

    @Admin
    не не верю, хоть и поставился и запускается, всё равно при доступе через веб интерфейс руторент падает с такими словама

    Caught Segmentation fault, dumping stack:
    0 rtorrent() [0x40e0f5]
    1 rtorrent() [0x437437]
    2 /lib/libc.so.6(+0x33c20) [0x7f46fb52ec20]
    3 /lib/libpthread.so.0(pthread_kill+0) [0x7f46fb2eacd0]
    4 rtorrent() [0x437615]
    5 rtorrent() [0x4c2110]
    6 rtorrent() [0x4c34cb]
    7 /usr/lib/libtorrent.so.13(_ZN7torrent9PollEPoll7performEv+0xd9) [0x7f46fca9a299]
    8 rtorrent() [0x437952]
    9 /lib/libpthread.so.0(+0×7971) [0x7f46fb2e5971]
    10 /lib/libc.so.6(clone+0x6d) [0x7f46fb5e192d]
    Аварийный останов

  13. Dmitry
    2 Апрель 2011 в 13:47 | #13

    он ещё вот такую штуку пишет когда запускаешь просто из консоли

    14:46:48) Using ‘epoll’ based polling.
    (14:46:48) Using ‘epoll’ based polling.
    (14:46:48) XMLRPC initialized with 831 functions.
    (14:46:48) The SCGI socket is bound to a specific network device yet may still p
    ose a security risk, consider using ‘scgi_local’.

  14. Admin
    2 Апрель 2011 в 14:28 | #14

    Вопрос что за Веб интерфейс, если ruTorrent, то какая связка с rtorrent используется? И неплохо бы увидеть .rtorrent.rc scgi_port параметр. Еше можете глянуть вот это http://forum.ubuntu.ru/index.php?topic=70377.msg529862#msg529862

  15. Dmitry
    2 Апрель 2011 в 14:52 | #15

    @Admin
    да в общем то вот весь конфиг
    # Диапазон рабочих портов torrent клиента.
    # Если вы за NAT не забываем «пробросить» порты
    port_range = 32001-32049
    port_random = no
    check_hash = no

    # Включаем DHT
    dht = auto
    # UDP порт для DHT
    dht_port = 32000
    # Обмен пирами
    peer_exchange = yes

    # Использовать ли UDP трекеры
    use_udp_trackers = yes

    # Директория в которую по-умолчанию будут загружаться файлы
    directory = /home/dmitry/torrents

    # Глобальные ограничения по скорости
    upload_rate = 800
    download_rate = 800

    # Директория для записи сессий rTorrent
    session = /home/dmitry/torrents/.rtsession

    # Задаем настройки для rpc управления
    scgi_port = 127.0.0.1:5000

    #session_save = yes

    encoding_list=UTF-8

    # Max number of files to keep open simultaniously.
    # max_open_files = 128
    # schedule = watch_directory,10,10,load_start=/home/dmitry/torrents/watch/*.torrent

  16. Dmitry
    2 Апрель 2011 в 14:56 | #16

    в /etc/apache2/httpd.conf
    прописал
    SCGIMount /RPC2 127.0.0.1:5000

  17. Dmitry
    2 Апрель 2011 в 16:27 | #17

    удалил всё включая апачи и пхп и поставил заново, скомпили, всё заработало но компили уже не libtorrent-0.12.7.tar.gz rtorrent-0.8.7.tar.gz а libtorrent-0.12.6.tar.gz rtorrent-0.8.6.tar.gz
    и всё завелось…

  18. Admin
    2 Апрель 2011 в 19:41 | #18

    Ну тоже хорошо. Интересно что за билд в 0.12.7…

  19. Dmitry
    2 Апрель 2011 в 21:42 | #19

    @Admin
    а не подскажешь, можно ли как-то добаить торент на скачавание не через папку слежения?
    а непремую что-то типо rtorrent my.torrnet ~/myFolder ??

  20. Admin
    2 Апрель 2011 в 22:23 | #20

    Нет, нельзя. Самое простое решение, написать скрипт что бы закидывал в папку слежения.
    Есть еше посложнее. Написать python скрипт добавления файла через XML-RPC, тогда еще можно и имя и директорию закачки указать.

  21. Makc
    15 Август 2011 в 04:07 | #21

    Подскажите пож… При установке выдаёт
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    что из репазитория что через терминал одно и тоже как поставить?

  22. Admin
    15 Август 2011 в 08:26 | #22

    Некое решение проблемы ошибки описано тут, http://tuksik.ru/sub-process/ Только не забудьте свой пакет подставить.

  1. 11 Август 2010 в 12:33 | #1
  2. 27 Март 2011 в 00:43 | #2