WebRTC : ninja build not working

parul picture parul · Nov 18, 2013 · Viewed 11.3k times · Source

Steps I followed for build of webRTC in UBUNTU env.

Check out the code:

 gclient config https://webrtc.googlecode.com/svn/trunk
 echo "target_os = ['android', 'unix']" >> .gclient
 gclient sync --nohooks

Generate ninja makefiles:

cd trunk

 $./build/install-build-deps-android.sh
 $. build/android/envsetup.sh
 Defaulting GYP_GENERATORS to ninja

 $gclient runhooks
 $android_gyp

result of android_gyp:

GYP_GENERATORS set to 'ninja'
Updating projects from gyp files...
gyp: /home/user/webRTC/trunk/chrome/chrome_resources.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/tools/android/findbugs_plugin/findbugs_plugin.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/sql/sql.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/tools/android/android_tools.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/sync/sync.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/sandbox/sandbox.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/net/net.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/media/media.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/ipc/ipc.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/gpu/gpu.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/components/components_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/base/base.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/breakpad/breakpad.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/base/android/jni_generator/jni_generator.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/third_party/cacheinvalidation/cacheinvalidation.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/remoting/remoting.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/chrome/chrome.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/android_webview/android_webview.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/mojo/mojo.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/content/content_shell_and_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/ui/ui_unittests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/cc/cc_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/third_party/WebKit/public/all.gyp not found (cwd: /home/user/webRTC/trunk)

Build and Install Demo app:

$ ninja -C out/Debug video_demo_apk
ninja: Entering directory 'out/Debug'
ninja: error: unknown target 'AppRTCDemo'

please let me know if I've donw any steps wrong. I think android_gyp is giving problem, but donno.

Note: I'm using Ubuntu(VMware) on my windows OS

Answer

Andy Ericksen picture Andy Ericksen · Mar 7, 2014

here are my notes for building the AppRTCDemo on Ubuntu 12.04.4, obviously your directories may be slightly different.

## building webrtc

# install dependencies:
sudo apt-get install git git-svn subversion g++ python libnss3-dev libasound2-dev libpulse-dev libjpeg62-dev libxv-dev libgtk2.0-dev libexpat1-dev lib32asound2-dev ia32-libs

# create a working directory:
mkdir -p ~/git/working

cd ~/git/working

# get the depottools:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

# Add depot_tools to your PATH:
echo "PATH=\$PATH:$HOME/git/working/depot_tools" >> ~/.bash_aliases
echo "export PATH" >> ~/.bash_aliases
. ~/.bash_aliases

# get the WebRTC source:
gclient config http://webrtc.googlecode.com/svn/trunk

# configure for android:
echo "target_os = ['android', 'unix']" >> .gclient

# synchronize:
gclient sync --nohooks

# set up env variables:
source ~/git/working/trunk/build/android/envsetup.sh

# install new dependencies:
sudo ~/git/working/trunk/build/./install-build-deps-android.sh
sudo ~/git/working/trunk/build/./install-build-deps.sh

# Set up webrtc-related GYP variables:
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_java=1 $GYP_DEFINES"

# generate the build scripts:
gclient runhooks

# install find_depot_tools dummy file:
wget -O ~/git/working/trunk/build/find_depot_tools.py http://webrtc.googlecode.com/svn/trunk/webrtc/build/find_depot_tools.py

# build the Debug version of the AppRTCDemo:
ninja -C out/Debug AppRTCDemo