Ik weet dat de dm500 al lang niet meer ondersteund word maar ik ben ten einde raad en probeer het toch maar even te vragen.
Ik probeer de Tor binary to compileren voor de DM500 (www.torproject.org).
Tor heeft de volgende afhankelijkheden voor Linux:
- openssl: libcrypto en libssl (deze tweede is niet aanwezig op de dm500)
- libevent (niet aanwezig op de dm500)
- libz (zlib is wel aanwezig)
- librt.so.1 (niet aanwezig op de dm500 maar wel in mijn cdkroot/lib)
Als eerst heb ik een OpenPLI image voor mijn dm500 gecompileerd zodat ik de cross-compilers op mijn computer heb staan.
Deze staan bij mij in: /home/mastag/src/openpli/cdk/root/cdk/bin deze heb ik aan mijn PATH toegevoegd.
powerpc-tuxbox-linux-gnu-* (gcc ranlib ar etc..)
De prefix is:
/home/mastag/src/openpli/cdk/root/cdkroot/libHier staan alle bibliotheken waar de compiler tegenaan linkt.
Als eerst heb ik libevent gecompileerd en geinstalleerd met:
./configure --host=powerpc-tuxbox-linux-gnu --prefix=/home/mastag/src/openpli/cdk/root/cdkroot/lib make && make install
Daarna openssl 0.9.7m
./Configure --prefix=/home/mastag/src/openpli/cdk/root/cdkroot/lib shared no-dso no-zlib linux-ppc make CC=powerpc-tuxbox-linux-gnu-gcc AR="powerpc-tuxbox-linux-gnu-ar r" RANLIB=powerpc-tuxbox-linux-gnu-ranlib make CC=powerpc-tuxbox-linux-gnu-gcc AR="powerpc-tuxbox-linux-gnu-ar r" RANLIB=powerpc-tuxbox-linux-gnu-ranlib install(met "shared" worden zowel de statische als gedeelde bibliotheken gecompileerd)
En als laatst Tor-0.2.2.35
Ik heb ervoor gekozen om libevent en openssl statisch te linken zodat ik deze bibliotheken niet naar mijn dreambox hoef te kopieren.
./configure --prefix=/var --sysconfdir=/var/etc --host=powerpc-tuxbox-linux-gnu \ --with-openssl-dir=/home/mastag/src/openpli/cdk/root/cdkroot/lib --with-zlib-dir=/home/mastag/src/openpli/cdk/root/cdkroot/lib \ --with-libevent-dir=/home/mastag/src/openpli/cdk/root/cdkroot/lib \ --enable-static-libevent --enable-static-openssl \ --localstatedir=/var --disable-asciidoc \ CPPFLAGS="-I/home/mastag/src/openpli/cdk/root/cdkroot/include" make
Tor word met succes gecompileerd en zowel openssl (libcrypto en libssl) als libevent zitten statisch in de binary gelinkt.
Vervolgens kopieer ik de binary src/or/Tor naar mijn dreambox in /tmp
Ook kopieer ik librt-2.3.2.so vanaf mijn cdkroot/lib naar /tmp
Als laatst maak ik op mijn dreambox een symbolische link aan /tmp/librt.so.1 -> /tmp/librt-2.3.2.so
Echter als ik nu Tor probeer uit te voeren krijg ik:
Jun 02 12:13:31.063 [notice] Tor v0.2.2.35. This is experimental software. Do not rely on it for strong anonymity. (Running on Linux ppc) ./tor: relocation error: ./tor: symbol epoll_create, version GLIBC_2.3.2 not defined in file libc.so.6 with link time reference
Dit komt denk ik doordat de C-bibliotheek cdkroot/lib/libc-2.3.2.so 94MB groot is en alle functies bevat.
De versie op de dreambox is gestript om alleen de functies te hebben die door de overige bibliotheke/binaries worden gebruikt?
Op de dm500 kan ik niet debuggen dat maakt het erg lastig.
Weet iemand hoe ik dit kan oplossen?
Veranderd door MastaG, 2 juni 2012 - 12:00