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

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

Ответ
 
Опции темы Опции просмотра
Старый 20.12.2014, 16:31   #11
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

Цитата:
Сообщение от Roman_V_M Посмотреть сообщение
Сам я этой темой в силу ряда личных обстоятельств заниматься пока не буду, но, возможно, кого-то заинтересуют мои наработки.
Да я тоже занимаюсь ей по остаточному принципу, так как не являюсь спецом во всяких замороченных компиляциях. Выделяю один вечер в одну-две недели и мучаю эту сборку. Потихоньку вроде продвигаюсь. Но медленно...
__________________
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 вне форума   Ответить с цитированием
   
Старый 28.12.2014, 13:19   #12
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Пытаюсь компильнуть под Ubuntu x64, но не могу победить "error adding symbols: Bad value collect2: error: ld returned 1 exit status", вроде об этом даже написано в https://www.linux.org.ru/forum/development/6599490 говорит удалить в конфиге какое-то правило, а я фиг знает что там править. HAL ты пишешь, что какие-то ошибки у тебя возникают на x64, такая была? Как победить?
__________________
Плагин MyShows.ru (+оценка KinoPoisk.ru) для Kodi http://xbmc.ru/forum/showthread.php?t=3264
Торрент-стример Torrenter v2 http://xbmc.ru/forum/showthread.php?t=6837
DiMartino вне форума   Ответить с цитированием
Старый 29.12.2014, 12:43   #13
kerber
Senior Member
 
Регистрация: 05.02.2010
Адрес: Казань
Сообщений: 2,958
Отправить сообщение для kerber с помощью ICQ Отправить сообщение для kerber с помощью Skype™
По умолчанию

Под OpenELEC arm тоже пытаюсь.
для boost так
PKG_NAME="boost"
PKG_VERSION="1_57_0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.boost.org/"
PKG_URL="$SOURCEFORGE_SRC/boost/boost/1.57.0/${PKG_NAME}_${PKG_VERSION}.tar.bz2"
PKG_SOURCE_DIR="${PKG_NAME}_${PKG_VERSION}"
PKG_DEPENDS_HOST=""
PKG_DEPENDS_TARGET="toolchain boost:host Python:host zlib bzip2"
PKG_PRIORITY="optional"
PKG_SECTION="devel"
PKG_SHORTDESC="boost: Peer-reviewed STL style libraries for C++"
PKG_LONGDESC="Boost provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. One goal is to establish existing practice and provide reference implementations so that the Boost libraries are suitable for eventual standardization. Some of the libraries have already been proposed for inclusion in the C++ Standards Committee's upcoming C++ Standard Library Technical Report."

PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

make_host() {
cd tools/build/src/engine
sh build.sh
}

makeinstall_host() {
mkdir -p $ROOT/$TOOLCHAIN/bin
cp bin.*/bjam $ROOT/$TOOLCHAIN/bin
}

pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}

configure_target() {
sh bootstrap.sh --prefix=/usr \
--with-bjam=$ROOT/$TOOLCHAIN/bin/bjam \
--with-python=$ROOT/$TOOLCHAIN/bin/python \

echo "using gcc : `$TARGET_CC -v 2>&1 | tail -n 1 |awk '{print $3}'` : $TARGET_CC : <compileflags>\"$CFLAGS\" <linkflags>\"$LDFLAGS\" ;" \
> tools/build/src/user-config.jam
}

make_target() {
: # nothing todo, we use makeinstall_target()
}

makeinstall_target() {
$ROOT/$TOOLCHAIN/bin/bjam -d2 --toolset=gcc link=static threading=multi \
--prefix=$SYSROOT_PREFIX/usr \
--ignore-site-config \
--with-date_time \
--layout=tagged \
--with-thread \
--with-python \
--with-iostreams \
--with-system \
--with-serialization \
--with-filesystem \
--with-regex -sICU_PATH="$SYSROOT_PREFIX/usr" \
install
}


Для libtorrent так
PKG_NAME="libtorrent-rasterbar"
PKG_VERSION="0.16.19"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.boost.org/"
PKG_URL="http://downloads.sourceforge.net/project/libtorrent/libtorrent/${PKG_NAME}-${PKG_VERSION}.tar.gz"
#PKG_SOURCE_DIR="${PKG_NAME}-${PKG_VERSION}"
PKG_DEPENDS_HOST="toolchain"
PKG_DEPENDS_TARGET="toolchain boost Python:host Python:target zlib bzip2"
PKG_PRIORITY="optional"
PKG_SECTION="devel"
PKG_SHORTDESC="libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability."
PKG_LONGDESC="libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability. It runs on embedded devices as well as desktops. It boasts a well documented library interface that is easy to use. It comes with a simple bittorrent client demonstrating the use of the library."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
export CFLAGS="$CFLAGS -I$ROOT/$PKG_BUILD/include/"
export CXXFLAGS="$CXXFLAGS -I$ROOT/$PKG_BUILD/include/"
export PYTHON_VERSION="2.7"
export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION -I$ROOT/$PKG_BUILD/include/"
export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION"
export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages"


PKG_CONFIGURE_OPTS_TARGET="--with-sysroot=$SYSROOT_PREFIX \
--with-boost-libdir=$SYSROOT_PREFIX/usr/lib \
--with-openssl=$SYSROOT_PREFIX/usr \
--prefix=/usr \
--enable-export-all \
--with-boost-python=mt \
--disable-debug \
--enable-python-binding \
--enable-static --disable-shared --disable-pool-allocators"
echo $PKG_CONFIGURE_OPTS_TARGET

pre_configure_target() {
sed -i 's/$PKG_CONFIG openssl --libs-only-/$PKG_CONFIG openssl --static --libs-only-/' $ROOT/$PKG_BUILD/configure
}

post_configure_target()
{
cp -R $ROOT/$PKG_BUILD/bindings/python $ROOT/$PKG_BUILD/.$TARGET_NAME/bindings
}

При попытки импорта
Код:
python -c "import libtorrent as lt; print lt.version"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: ./libtorrent.so: undefined symbol: _ZNK10libtorrent14torrent_handle16force_reannounceEv
И ldd
Код:
ldd libtorrent.so
libpthread.so.0 => /lib/libpthread.so.0 (0xb6c86000)
libssl.so.27 => /usr/lib/libssl.so.27 (0xb6c44000)
libcrypto.so.30 => /usr/lib/libcrypto.so.30 (0xb6b0c000)
libpython2.7.so.1.0 => /usr/lib/libpython2.7.so.1.0 (0xb69d6000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6904000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb68e0000)
libc.so.6 => /lib/libc.so.6 (0xb67b2000)
/lib/ld-linux-armhf.so.3 (0xb6ca6000)
libdl.so.2 => /lib/libdl.so.2 (0xb67a7000)
libutil.so.1 => /lib/libutil.so.1 (0xb679c000)
libm.so.6 => /lib/libm.so.6 (0xb6729000)
Кто подскажет где ошибка?
__________________
Qnap TS-228A
Nvidia Shield TV
Amlogic S9xx - LibreELEC
kerber вне форума   Ответить с цитированием
Старый 29.12.2014, 12:56   #14
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Мой любимый совет - отключи openssl, там есть tommath встроенный, его попробуй.
__________________
Плагин 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, 00:13   #15
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Пытаюсь компильнуть под Ubuntu x64, но не могу победить "error adding symbols: Bad value collect2: error: ld returned 1 exit status", вроде об этом даже написано в https://www.linux.org.ru/forum/development/6599490 говорит удалить в конфиге какое-то правило, а я фиг знает что там править. HAL ты пишешь, что какие-то ошибки у тебя возникают на x64, такая была? Как победить?
У меня другая ошибка. Пишет про проблемы с fPIC. Уже на этапе сборки libtorrent. Перебробывал все решения, которые смог нагуглить по этой теме - пока не получалось. Точный текст ошибки уже не скажу, так как больше эту версию либторрента (1.0.2) собирать больше не буду. Вышел libtorrent 1.0.3. Попробую прямо сейчас его помучить. Может заведется. Если нет, то скину точный текст ошибки.
__________________
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, 00:18   #16
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Мой любимый совет - отключи openssl, там есть tommath встроенный, его попробуй.
Если только как временное решение. На финале все-равно надо приручать этого зверя со всеми либами. Считаю, что надо получить полную версию libtorrent.
Но это мое ИМХО. Для начала хорошо бы хоть как-то скомпилить. Можно и без шифрования.
__________________
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, 01:03   #17
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

На github`е есть человек, который скомпилил libtorrent для iOS и Android. Правда без python-обвязки.
iOS: https://github.com/chublix/libtorrent-ios
Android: https://github.com/chublix/libtorrent-android
__________________
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, 01:32   #18
DiMartino
Senior Member
 
Аватар для DiMartino
 
Регистрация: 26.01.2013
Сообщений: 867
Отправить сообщение для DiMartino с помощью Skype™
По умолчанию

Ну я целый день потратил на андройд, а потом узнал, что буст_питон под него не существует, там питон то хромой.
__________________
Плагин 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, 01:55   #19
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

Цитата:
Сообщение от DiMartino Посмотреть сообщение
Ну я целый день потратил на андройд, а потом узнал, что буст_питон под него не существует, там питон то хромой.
Засада.
__________________
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, 02:09   #20
HAL9000
Senior Member
 
Аватар для HAL9000
 
Регистрация: 15.03.2012
Сообщений: 1,106
По умолчанию

Я скомпилил 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-бит
__________________
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 вне форума   Ответить с цитированием
Ответ
 


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenELEC с поддержкой ACEStream и LibTorrent-Rasterbar OneEvil Поддержка платформы Linux \ Live 383 29.07.2015 06:21
LostFilm.tv + libtorrent для Raspberry Pi iser Помощь по плагинам 0 14.10.2013 00:53
Рзделы для видео библиотеки mdog288 Подсказки, описания и FAQ по XBMC 3 16.09.2011 10:17


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


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