Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Разработка > Поддержка локальной разработки модулей

Ответ
 
Опции темы Опции просмотра
Старый 30.12.2014, 03:37   #21
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,094
По умолчанию

Для 64-бит по прежнему не компилится
Выдает сот эту ошибку:

/usr/bin/ld: ../../src/.libs/libtorrent-rasterbar.a(alert.o): relocation R_X86_64_32S against `vtable for libtorrent::alert' can not be used when making a shared object; recompile with -fPIC

P.S.: На всякий случай обновил в шапке скрипт для linux64 с новыми версиями буста и либторрента.
__________________
RuTracker: http://xbmc.ru/forum/showthread.php?t=2243
Ruhunt.Pulsar: http://xbmc.ru/forum/showthread.php?t=6759
Last.VK: http://xbmc.ru/forum/showthread.php?t=3709
Lovi.fm: http://xbmc.ru/forum/showthread.php?t=6758
HAL9000 вне форума   Ответить с цитированием
   
Старый 30.12.2014, 22:47   #22
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

А мне получилось собрать libtorrent под Винду со всеми опциями, включая SSL. Помогла инфа в самом конце страницы: http://www.libtorrent.org/building.html
Замечания:
- Самому компилировать openssl не надо. Нужные файлы можно взять в папке \OpenSSL-Win32\lib\VC\static\.
- Перед копированием в папку либов VC++ файлы libeay32MT.lib и ssleay32MT.lib нужно переименовать в libeay32.lib и ssleay32.lib соответственно.
- Местонахождение папок либ и инклудов в разных версиях VC/VS отличается.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 30.12.2014, 22:59   #23
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
А мне получилось собрать libtorrent под Винду со всеми опциями, включая SSL.
Думаю выражу общее желание выложить файл, если все заиграется, то залью себе в репо для торрентера.
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 30.12.2014, 23:37   #24
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,094
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
А мне получилось собрать libtorrent под Винду со всеми опциями, включая SSL. Помогла инфа в самом конце страницы: http://www.libtorrent.org/building.html
Замечания:
- Самому компилировать openssl не надо. Нужные файлы можно взять в папке \OpenSSL-Win32\lib\VC\static\.
- Перед копированием в папку либов VC++ файлы libeay32MT.lib и ssleay32MT.lib нужно переименовать в libeay32.lib и ssleay32.lib соответственно.
- Местонахождение папок либ и инклудов в разных версиях VC/VS отличается.
Roman_V_M! Очень круто!
Я так понимаю, получилось скомпилить для 32-битов. Или в Винде сейчас по барабану 32 или 64 и она всеядная?
А не трудно будет пошаговую инструкцию написать? Для потомков так сказать... Мало-ли кто-нибудь подхватит проект... Дело-то в целом благородное. Разобраться до конца с этим зверем по имени либторрент. Уверен - пол форума скажет БЧС (Большое Человеческое Спасибо).

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Думаю выражу общее желание выложить файл, если все заиграется, то залью себе в репо для торрентера.
Коллеги! Может давайте я завтра сварганю местечко для этого проекта у себя на Гитхабе - https://github.com/xbmc-addon
Можно в качестве временного. Где-то ведь надо хранить общие усилия...
Оформлю там "попонятнее" для того, кто вновь вольется в это дельце...
Что думаете?
__________________
RuTracker: http://xbmc.ru/forum/showthread.php?t=2243
Ruhunt.Pulsar: http://xbmc.ru/forum/showthread.php?t=6759
Last.VK: http://xbmc.ru/forum/showthread.php?t=3709
Lovi.fm: http://xbmc.ru/forum/showthread.php?t=6758
HAL9000 вне форума   Ответить с цитированием
Старый 31.12.2014, 13:58   #25
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Цитата:
Сообщение от HAL9000 Посмотреть сообщение
Я скомпилил libtorrent 1.0.3 под linux32. Скрипт обновил в шапке.
Из особенностей: версия 1.0.3 компилится только с новым бустом (v.1.57.0)

P.S.: Сейчас пробую компилить под linux64. Позже отпишусь о результате.

P.P.S: DiMartino, все забываю дать совет. Для кода, который ты выложил выше в этой ветке. Тот, что определяет какая платформа у пользователя и в зависимости от этого импортирует определенный либторрент. Там можно более элегантно проверить битность платформы (чтобы не пытаться перебирать импорт в лоб). Для этого достаточно:
Код:
if sys.maxsize > 2**32:
    # 64-бит
else:
    # 32-бит
Решил кое-что переписать, раз все равно менять:

PHP код:
        if platform.system() != 'Windows':
            if 
sys.maxsize 2**32:
                
system='linux_x86_64'
            
else:
                
system='linux_x86'
        
else:
            
system='windows'

        
dirname os.path.join(xbmc.translatePath('special://home'), 'addons''script.module.libtorrent','python_libtorrent',system)
        
sys.path.insert(0dirname)
        try:
            
import libtorrent
            
print 'Imported libtorrent v'+libtorrent.version+' from python_libtorrent.'+system
        except
:
            print 
'Error importing python_libtorrent.'+system
            pass 
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837

Последний раз редактировалось DiMartino; 31.12.2014 в 14:07.
DiMartino вне форума   Ответить с цитированием
Старый 31.12.2014, 15:35   #26
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,094
По умолчанию

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Решил кое-что переписать, раз все равно менять:

PHP код:
        if platform.system() != 'Windows':
            if 
sys.maxsize 2**32:
                
system='linux_x86_64'
            
else:
                
system='linux_x86'
        
else:
            
system='windows'

        
dirname os.path.join(xbmc.translatePath('special://home'), 'addons''script.module.libtorrent','python_libtorrent',system)
        
sys.path.insert(0dirname)
        try:
            
import libtorrent
            
print 'Imported libtorrent v'+libtorrent.version+' from python_libtorrent.'+system
        except
:
            print 
'Error importing python_libtorrent.'+system
            pass 
Да. Я это и имел в виду.
__________________
RuTracker: http://xbmc.ru/forum/showthread.php?t=2243
Ruhunt.Pulsar: http://xbmc.ru/forum/showthread.php?t=6759
Last.VK: http://xbmc.ru/forum/showthread.php?t=3709
Lovi.fm: http://xbmc.ru/forum/showthread.php?t=6758
HAL9000 вне форума   Ответить с цитированием
Старый 31.12.2014, 15:39   #27
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,094
По умолчанию

Еще нашел подсказки по компиляции. На этот раз - еще один торрент-клиент на базе libtorrent: qBittorrent. Он правда без питоновской обертки, т.к. написан полностью на C++. Но, тем не менее, инфа есть.
Искать в ВиКИ: https://github.com/qbittorrent/qBittorrent/wiki
Там в самом низу есть раздел Compilation и в нем ссылки на текст по компиляции для трех основных ОС (Win, Mac, Linux).
__________________
RuTracker: http://xbmc.ru/forum/showthread.php?t=2243
Ruhunt.Pulsar: http://xbmc.ru/forum/showthread.php?t=6759
Last.VK: http://xbmc.ru/forum/showthread.php?t=3709
Lovi.fm: http://xbmc.ru/forum/showthread.php?t=6758
HAL9000 вне форума   Ответить с цитированием
Старый 31.12.2014, 15:54   #28
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,094
По умолчанию

И еще вот инфу нашел: наработки по компиляции от команды LeechCraft (комбайн с браузером, чатом, торрент-клиентом и т.д. В нем также присутствует libtorrent): http://leechcraft.org/development-general-information
__________________
RuTracker: http://xbmc.ru/forum/showthread.php?t=2243
Ruhunt.Pulsar: http://xbmc.ru/forum/showthread.php?t=6759
Last.VK: http://xbmc.ru/forum/showthread.php?t=3709
Lovi.fm: http://xbmc.ru/forum/showthread.php?t=6758
HAL9000 вне форума   Ответить с цитированием
Старый 31.12.2014, 16:41   #29
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от HAL9000 Посмотреть сообщение
Roman_V_M! Очень круто!
Я так понимаю, получилось скомпилить для 32-битов. Или в Винде сейчас по барабану 32 или 64 и она всеядная?
Разрядность скомпилированного модуля должна совпадать с разрядностью Питона, а поскольку официальной 64-битной версии Коди под Винду не существует, то и 64-битный либторрент не нужен, т. к. его некуда применить.

Цитата:
А не трудно будет пошаговую инструкцию написать? Для потомков так сказать...
Попробую.
Компиляцию лучше проводить на чистой винде ХР/7 под виртуалкой.
Выполняете инструкцию отсюда до п. 5 включительно. В качестве компилятора устанавливаете VC++ 2008 Express (можно скачать с сайта Майкрософта).
После установки всех компонентов и компиляции Буста у вас должны быть следующие папки:
c:\OpenSSL-Win32\
C:\boost
C:\libtorrent-rasterbar
Далее выполняете следующий батник:
Код:
@echo off

copy "c:\OpenSSL-Win32\lib\VC\static\libeay32MT.lib" "C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\libeay32.lib" /y
copy "c:\OpenSSL-Win32\lib\VC\static\ssleay32MT.lib" "C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\ssleay32.lib" /y
copy "C:\OpenSSL-Win32\include\openssl" "C:\Program Files\Microsoft Visual Studio 9.0\VC\include" /y

call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86

set BOOST_ROOT=C:\boost
set BOOST_BUILD_PATH=%BOOST_ROOT%
set PATH=%BOOST_ROOT%;%PATH%

c:
cd C:\libtorrent-rasterbar\bindings\python

b2 boost=source link=static geoip=static boost-link=static runtime-link=static release optimization=space encryption=openssl
Если всё сделано правильно, в папке C:\libtorrent-rasterbar\bindings\python должен быть скомпилированный модуль.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 31.12.2014, 16:42   #30
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Думаю выражу общее желание выложить файл, если все заиграется, то залью себе в репо для торрентера.
Здесь: https://cloud.mail.ru/public/500daa2...libtorrent.zip
Согласно моим опытам 1.0.3 качает быстрее.

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Решил кое-что переписать, раз все равно менять:

PHP код:
        if platform.system() != 'Windows':
            if 
sys.maxsize 2**32:
                
system='linux_x86_64'
            
else:
                
system='linux_x86'
        
else:
            
system='windows'

        
dirname os.path.join(xbmc.translatePath('special://home'), 'addons''script.module.libtorrent','python_libtorrent',system)
        
sys.path.insert(0dirname)
        try:
            
import libtorrent
            
print 'Imported libtorrent v'+libtorrent.version+' from python_libtorrent.'+system
        except
:
            print 
'Error importing python_libtorrent.'+system
            pass 
Можно небольшой совет? Никогда не используйте инструкцию except без указания конкретных исключений, которые вы ловите. Иначе потенциально возможны проблемы при отладке.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenELEC с поддержкой ACEStream и LibTorrent-Rasterbar OneEvil Поддержка платформы Linux \ Live 383 29.07.2015 06:21
Рзделы для видео библиотеки mdog288 Подсказки, описания и FAQ по XBMC 3 16.09.2011 10:17


Текущее время: 20:14. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.