BeagleBone Black & Linphone 1. Install what's needed to **compile**: ``` sudo apt-get install automake autoconf gnu-standards gettext build-essential pkg-config git libtool antlr3 libantlr3c-dev intltool git clone git://git.linphone.org/polarssl git clone git://git.linphone.org/belle-sip git clone git://git.linphone.org/linphone --recursive ``` 2. Compile polarssl ./autogen.sh ./configure make -j2 && sudo make install 3. Install Java from Oracle (**important**, otherwise ANTLR won't compile correctly the SIP grammar) * Go here: [http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html) and download the JDK for linux (probably Hard Float) * Unpack in your HOME and setup the PATH and JAVA_HOME: # put this in your ~/.bashrc ideally export PATH="/home/user/jdk-x.y.z/bin:$PATH" export JAVA_HOME="/home/user/jdk-x.y.z" * Check that `java -version` outputs something like this (with the 'TM'): java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) 4. Install belle-sip and linphone dependencies sudo aptitude install libswscale-dev libavcodec-dev libv4l-dev libglew1.6-dev libxml2-dev libgsm1-dev libsqlite3-dev libupnp-dev libsdl1.2-dev 5. Get libvpx from Google and compile it yourself, so that you get the NEON and other optimizations git clone https://chromium.googlesource.com/webm/libvpx -b v1.3.0 cd libvpx CC=cc AR=ar AS=as LD=gcc CXX=g++ ./configure --enable-vp8 --target=armv7-linux-gcc --disable-examples --disable-docs --enable-error-concealment --enable-realtime-only --enable-spatial-resampling --enable-multithread --disable-vp9 --enable-pic make -j2 sudo make install 6. Get speex from linphone and compile it with NEON optimizations git clone git://git.linphone.org/speex cd speex && ./autogen.sh ./configure --enable-armv7neon-asm --with-pic --enable-fixed-point --disable-oggtest CFLAGS="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -O3" --disable-ogg make -j2 && sudo make install 7. Compile and install `belle-sip` ./autogen.sh ./configure make && sudo make install # optional: perform belle-sip tests cd tester && ./belle_sip_tester 8. Compile and install `linphone` ./autogen.sh ./configure --disable-x11 --enable-gtk_ui=no --disable-xv --enable-sdl # Note: Wno-error is here because otherwise mediastreamer complains about not used functions make V=1 CFLAGS="-Wno-error" && sudo make install 9. Test that linphone passes the tests cd tester && ./liblinphone_tester 10. To enable video: install omapfb driver See http://blog.csdn.net/amd123linux/article/details/11738753 : sudo apt-get install xserver-xorg-video-omap3 sudo reboot cat /var/log/Xorg.0.log | grep omapfb xvinfo -display :0.0 # should show "OMAP XV adaptor" Not supported by BBB.... 11. Setup video output in linphonerc This will force the video display to use the SDL output #launch linphone once to create it linphonec # type quit #edit the linphonerc file nano ~/.linphonerc # find the [video] section and put or replace: displaytype=MSVideouOut