Strona 1 z 1
Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 18 gru 2010, 14:25
autor: Linkas
Witam.
Czy istnieje wogóle coś takiego jak w temacie?
Jeśli tak to proszę o konkretne linki.
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 18 gru 2010, 14:28
autor: dk75
skompiluj sobie rtorrenta statycznie (wszystkie potrzebne biblioteki załączone w binarce klienta)
wyjdzie ci duży plik binarny (paręnaście MiB) ale nie będziesz potrzebował go instalować

Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 18 gru 2010, 16:49
autor: Linkas
Dzięki za odpowiedz. Nigdy nie kompilowałem statycznie ale spróbuje. Napisze o wyniku mojej pracy
EDIT1 5:30
Jako, że kompilacja długo trwa to powiem jak ja widzę statyczną kompilacje.
1. kompiluje pakiet libtorrent (./configure --enable_static, make, make install)
2. kompiluje pakiet rtorrent (./configure --enable_static, make, i chyba ta binarka powinna być już wtedy gdzieś w folderze?)
EDIT 15:48
Chyba coś popsułem. Zrobiłem tak jak napisałem powyżej i znalazłem binarke rtorrent w folderze src ale nie działa:(
Zobaczcie sami:
Kod: Zaznacz cały
lukas@EEELUBUN:~/Pulpit/rtorrent/rtorrent-0.8.7/src$ ./rtorrent
./rtorrent: error while loading shared libraries: libtorrent.so.13: cannot open shared object file: No such file or directory
Nie dołączyło chyba pakietu libtorrent. Co teraz?
EDIT:
To chyba grubsza robota. Tu jest jakiś przykład na maca.
http://rakshasa.no/pipermail/libtorrent ... 01643.html
EDIT:
Więc jak w tę stronę nie da rady, to znacie jakąś inną alternatywe?
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 18 gru 2010, 21:56
autor: dk75
spróbuj inaczej niż na MacOSX
Ja tak zrobiłem ale nie mam innej maszyny z Ubuntu 64bit do sprawdzenia, jak ktoś chce to
tu jest binarka 64bit 0.8.7 beta (30MiB skompresowane do 9MiB)
A tak to zrobiłem.
Potrzebujesz libtorrent-0.12.7.tar.gz i rtorrent-0.8.7.tar.gz na Pulpicie.
Otwórz gnome-terminal i rozpakuj archiwa
Kod: Zaznacz cały
mkdir ~/.src
tar -xzf ~/Pulpit/libtorrent-0.12.7.tar.gz -C ~/.src
tar -xzf ~/Pulpit/rtorrent-0.8.7.tar.gz -C ~/.src
skompiluj statycznie libtorrent i zainstaluj
Kod: Zaznacz cały
cd ~/.src/libtorrent-0.12.7
./autogen.sh
env CFLAGS="-static" env CXXFLAGS="-static" env CPPFLAGS="-static" ./configure --disable-debug --disable-shared --enable-static
make
sudo make install
skompiluj statycznie rtorrent
Kod: Zaznacz cały
cd ~/.src/rtorrent-0.8.7
./autogen.sh
env CFLAGS="-static" env CXXFLAGS="-static" env CPPFLAGS="-static" ./configure --disable-debug --disable-shared --enable-static
make
odinstaluj libtorrent
Kod: Zaznacz cały
cd ~/.src/libtorrent-0.12.7
sudo make uninstall
skopiuj rtorrent na Pulpit
Kod: Zaznacz cały
cp ~/.src/rtorrent-0.8.7/src/rtorrent ~/Pulpit
sprawdź czy działa, przenieś na inną maszynę i też sprawdź
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 18 gru 2010, 23:12
autor: Linkas
Zrobiłem tak jak piszesz, ale jednak tamta maszyna ma 64-bitowe xenony, więc wrzuciłem tam Twoją binarkę.
Teraz jest taki problem, że zrobiłem
i chce ją uruchomić
ale dostaję
Kod: Zaznacz cały
-bash: ./rtorrent: Nie ma takiego pliku ani katalogu
Teraz to już nie wiem co robic.
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 19 gru 2010, 14:14
autor: dk75
tu jest binarka 32bit 0.8.6 (3,2MiB skompresowane do 800KiB) skompilowana pod Hardy 8.04 LTS 32bit i mi ona działa na moim 64bit systemie bez potrzeby jakichkolwiek machinacji - poza tym robiłeś chroot czy chmod? Bo chroot to uruchamia polecenie w izolowanym katalogu bezpośrednio a nie tylko nadaje jakieś uprawnienia...
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 19 gru 2010, 14:25
autor: Linkas
Jeśli chodzi o wersję 32-bit to też nie działa. Brak bibliotek:
Kod: Zaznacz cały
./rtorrent-0.8.6-i386
./rtorrent-0.8.6-i386: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
Na wersji 64-bit
Nic nie zmienia
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 19 gru 2010, 14:29
autor: dk75
no to ptyś
Tak mi się wydawało, że binarką trochę mała, 4 razy kompilowałem i wychodziło tak samo... coś nie tak z tym chrootem32 bit na systemie 64bit (a miało być tak pięknie)
A to dlaczego ci 64bit wersji nie rozpoznaje jako pliku wykonywalnego to dla mnie wielka zagadka
Chyba będę musiał do testów chroot32 z lucidem zrobić i skompilować 0.8.7 (na 8.04 za stare narzędzia do kompilacji są dla niego) - być może poprawili właśnie kompilację statyczną. Jednak to nie dzisiaj bo ściąganie rootfs i jego upgrade to jakieś 300-400MiB i mi plan taryfowy wykończy. Po północy mam transfer nie liczony więc jak dam radę nie zasnąć to sobie pościągam i po południu spróbuje znowu.
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 19 gru 2010, 14:31
autor: Linkas
I tak dzięki za wszystko. Mi binarka 32 bit wychodzi podobnie (~4Mb)
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 19 gru 2010, 14:35
autor: dk75
co jest dziwne skoro libtorrent.so statyczna ma 30MiB a jest dołączana niby
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 20 gru 2010, 11:00
autor: sulti
A może udałby się trick z LD_PRELOAD ?
Zakładam, że kompilujesz paczkę na tej samej architekturze co docelowa, sprawdź więc na docelowym środowisku komendą:
jakich bibliotek toto potrzebuje a jakich nie ma w systemie. Wtedy potrzebne biblioteki zgraj ze środowiska gdzie są i wrzuć do jakiegoś katalogu na drugim serwerze, np. rtorrent_libs. Potem coś w deseń:
Kod: Zaznacz cały
export LD_LIBRARY_PATH=rtorrent_libs
./rtorrent
unset LD_LIBRARY_PATH
Odp: Klient klien torrent- skrypt lub binarka (i686) bez potrzeby instalacji
: 20 gru 2010, 21:39
autor: Linkas
sulti@ już próbuje
EDIT:
Więc:
Kod: Zaznacz cały
ldd ./rtorrent-0.8.6-i386
./rtorrent-0.8.6-i386: /usr/lib/libcurl.so.4: no version information available (required by ./rtorrent-0.8.6-i386)
linux-gate.so.1 => (0x55573000)
libncurses.so.5 => /lib/libncurses.so.5 (0x555b7000)
libcurl.so.4 => /usr/lib/libcurl.so.4 (0x555d6000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x5562a000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0x5565b000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x5569f000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x5574c000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x55775000)
libssl.so.0.9.8 => not found
libz.so.1 => /lib/libz.so.1 (0x55779000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x5578d000)
libcrypto.so.0.9.8 => not found
libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0x557b8000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x557be000)
libm.so.6 => /lib/libm.so.6 (0x558a0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x558c6000)
libc.so.6 => /lib/libc.so.6 (0x558e1000)
libdl.so.2 => /lib/libdl.so.2 (0x55a40000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0x55a44000)
libcares.so.2 => /usr/lib/libcares.so.2 (0x55a6a000)
libssh2.so.1 => /usr/lib/libssh2.so.1 (0x55a78000)
libldap-2.4.so.2 => /usr/lib/libldap-2.4.so.2 (0x55a9a000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0x55ad6000)
librt.so.1 => /lib/librt.so.1 (0x55ae2000)
libgssapi.so.2 => /lib/libgssapi.so.2 (0x55aea000)
libpthread.so.0 => /lib/libpthread.so.0 (0x55b17000)
librtmp.so.0 => /usr/lib/librtmp.so.0 (0x55b30000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x55b46000)
libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x55bdc000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x55c4c000)
libresolv.so.2 => /lib/libresolv.so.2 (0x55c62000)
libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0x55c76000)
libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0x55cc2000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x55e1a000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x55e22000)
/lib/ld-linux.so.2 (0x55555000)
libheimntlm.so.0 => /lib/libheimntlm.so.0 (0x55e26000)
libkrb5.so.26 => /lib/libkrb5.so.26 (0x55e2d000)
libasn1.so.8 => /lib/libasn1.so.8 (0x55e95000)
libroken.so.18 => /lib/libroken.so.18 (0x55f17000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x55f29000)
libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x55f3a000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x55f40000)
libhx509.so.5 => /lib/libhx509.so.5 (0x55f71000)
libsqlite3.so.0 => /lib/libsqlite3.so.0 (0x55fac000)
libwind.so.0 => /lib/libwind.so.0 (0x5602d000)
libfreebl3.so => /lib/libfreebl3.so (0x56056000)
teraz spróbuje to przekopiować
EDIT:
Np. tego:
Kod: Zaznacz cały
libtinfo.so.5 => /lib/libtinfo.so.5 (0x55a44000)
libcares.so.2 => /usr/lib/libcares.so.2 (0x55a6a000)
Nie mam nawet u siebie na dysku.