Opened 6 years ago

Closed 6 years ago

#12815 closed task (fixed)

Changes is build not reflected in BUILD docs

Reported by: o'darn Owned by: o'darn
Priority: Very Low Milestone:
Component: Applications/Orbot Version:
Severity: Keywords:
Cc: o'darn Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

I'd like to get involved with Orbot development, but Tor's dependencies don't seem to be bundled with the repository.

I first did a git clone of https://gitweb.torproject.org/orbot.git

In order to build orbot, I follow the instructions in the BUILD readme. This is what happens (orbot/$ means the shell in the orbot git repo). I already have Android NDK installed and the path stored in the NDK_BASE environment variable.

orbot/$ git submodule init

Submodule 'external/ActionBarSherlock' (https://github.com/JakeWharton/ActionBarSherlock.git) registered for path 'external/ActionBarSherlock'
Submodule 'external/iptables' (git://git.netfilter.org/iptables) registered for path 'external/iptables'
Submodule 'external/jtorctl' (https://github.com/guardianproject/jtorctl) registered for path 'external/jtorctl'
Submodule 'external/liballium' (https://git.torproject.org/user/yawning/liballium.git) registered for path 'external/liballium'
Submodule 'external/libevent' (https://github.com/libevent/libevent.git) registered for path 'external/libevent'
Submodule 'external/obfsclient' (https://git.torproject.org/user/yawning/obfsclient.git) registered for path 'external/obfsclient'
Submodule 'external/openssl' (git://git.openssl.org/openssl) registered for path 'external/openssl'
Submodule 'external/polipo' (https://github.com/jech/polipo.git) registered for path 'external/polipo'
Submodule 'external/superuser-commands' (https://github.com/dschuermann/superuser-commands.git) registered for path 'external/superuser-commands'
Submodule 'external/tor' (https://git.torproject.org/git/tor.git) registered for path 'external/tor'

orbot/$ git submodule update
Submodule path 'external/ActionBarSherlock': checked out 'c0d437ce4c47cb344e5d96414ffbf5f1a85c26d0'
Submodule path 'external/iptables': checked out '99b85b7837707bd6c6d578c9328e1321fceb8082'
Submodule path 'external/jtorctl': checked out '319377b33117035155715b9207a7b41cbacef3a7'
Submodule path 'external/liballium': checked out '5272de7361897ee6b5c969fd1eec6609d64ac13a'
Submodule path 'external/libevent': checked out '64177777165d9684bafbfa946abd126f7ebff11f'
Submodule path 'external/obfsclient': checked out '9c164b2afb666d0bcd26ba3eeb6da07a9fff551c'
Submodule path 'external/openssl': checked out '6b72417a00b803680edc9be214c1b3dd9dae203d'
Submodule path 'external/polipo': checked out 'f690e763257ba05513b0bf0bd8a99554a0719201'
Submodule path 'external/superuser-commands': checked out 'be997be8fff6dc00cd249fdfd128d6820461db99'
Submodule path 'external/tor': checked out 'fcbb21b414947d8ad7e4298d3952b84d8005dabc'

orbot/$ make -C external
make: Entering directory `$ORBOT_SOURCE/external'
cd openssl && \
		./Configure android -DL_ENDIAN && \
		make CC="$NDK_BASE/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$NDK_BASE/platforms/android-9/arch-arm" ANDROID_DEV=$NDK_BASE/platforms/android-9/arch-arm/usr build_libs
Configuring for android
    no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
    no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
    no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
    no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-rfc3779      [default]  OPENSSL_NO_RFC3779 (skip dir)
    no-sctp         [default]  OPENSSL_NO_SCTP (skip dir)
    no-shared       [default] 
    no-store        [experimental] OPENSSL_NO_STORE (skip dir)
    no-zlib         [default] 
    no-zlib-dynamic [default]

....


Okay, so far, so good. This is where I notice things aren't going as the way is described in BUILD:

orbot/$ file res/raw/tor
res/raw/tor: ERROR: cannot open `res/raw/tor' (No such file or directory)

orbot/$ file res/raw/privoxy
res/raw/privoxy: ERROR: cannot open `res/raw/privoxy' (No such file or directory)

However, I did find the tor binary in external/bin/tor. Can't say the same for privoxy, though. Running find -iname '*privoxy*' came up completely empty.

I've attached the full output of make -c external in case anyone sees anything.

As an aside question, how do I make contributions to the gitweb? I saw no "registration" or "sign up" links. Thanks.

Child Tickets

Attachments (1)

full-make-log.txt (807.2 KB) - added by o'darn 6 years ago.
Full output of make -c external.

Download all attachments as: .zip

Change History (7)

Changed 6 years ago by o'darn

Attachment: full-make-log.txt added

Full output of make -c external.

comment:1 Changed 6 years ago by n8fr8

I think you missed this:

git submodule update --init --recursive

Otherwise, you can download the binaries from here:
https://guardianproject.info/releases/orbotbinaries_for_developers_v14.0.4.1.tar.gz

We like to include only source in the repo.

I will look at your log to see if I can spot a build problem.

If you want to make contributions, you just need to create git patches and submit them as tickets or email them to me on the tor-dev mailing list.

We also have a mirror on github, and you can use pull requests there if you'd like:
https://github.com/n8fr8/orbot

comment:2 Changed 6 years ago by n8fr8

Resolution: fixed
Status: newclosed

Seems like your build work, based on your log. It actually creates files call res/raw/tor.mp3 since using the .mp3 extension allows us to disable the Android APK compression, which causes some problems during installation on some devices. Also, privoxy is no longer included, in favor of polipo instead.

install -d ../res/raw
$NDK_BASE/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip --strip-debug bin/polipo
zip ../res/raw/polipo.mp3 bin/polipo

adding: bin/polipo (deflated 53%)

$NDK_BASE/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip --strip-debug bin/obfsclient
zip ../res/raw/obfsclient.mp3 bin/obfsclient

adding: bin/obfsclient (deflated 60%)

$NDK_BASE/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip --strip-debug bin/tor
zip ../res/raw/tor.mp3 bin/tor

adding: bin/tor (deflated 61%)

$NDK_BASE/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-strip --strip-debug bin/xtables
zip ../res/raw/xtables.mp3 bin/xtables

adding: bin/xtables (deflated 60%)

make: Leaving directory `$ORBOT_PROJECT/external'

comment:3 Changed 6 years ago by o'darn

Ah, yes, the problem is that privoxy was renamed to polipo , but the change wasn't updated in the BUILD doc. Will make the changes and submit.

The BUILD docs instruct me to do the following after make:

file res/raw/tor                                                            
file res/raw/privoxy

However, the files do not exist. The changes that seemed to have been made are that privoxy has been renamed polipo, and both files are not in res/raw/, but in /external/bin/:

user@host$ file external/bin/polipo external/bin/tor
external/bin/polipo: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), not stripped
external/bin/tor:    ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), not stripped
Last edited 6 years ago by o'darn (previous) (diff)

comment:4 Changed 6 years ago by o'darn

Cc: o'darn added
Priority: normaltrivial
Resolution: fixed
Status: closedreopened
Summary: Orbot dependencies not bundled with git repoChanges is build not reflected in BUILD docs
Type: defecttask

I'll reopen this bug, but give it a trivial priority.

comment:5 Changed 6 years ago by o'darn

Owner: changed from n8fr8 to o'darn
Status: reopenedaccepted

comment:6 Changed 6 years ago by o'darn

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.