Skip to content

Installation and Downloads

Brian Hrolenok edited this page Apr 18, 2014 · 5 revisions

Table of Contents

Downloading the Binaries

The simplest way to get started is just to download our latest official releases

Supported: Ubuntu, Ubuntu(64 Bit) Experimental: Mac

Unzip the file to a convenient location for yourself,and double click the program that you wish to run.

System Image

  1. Download and install the free VirtualBox on your host computer, which can be any Intel-based Mac, Windows PC, or Linux box.
  2. Download the VM image 32-bit 64-bit (~8.7 GB zipped)
  3. Run VirtualBox and click the New button to create a new VM.
  4. When the VM Wizard appears, select the following options:
    • operating system: Linux
    • version: Ubuntu
    • RAM base memory: at least 1024 MB
  5. Select "Use existing hard disk" and choose the .vdi file you downloaded in step 2
  6. The VM's root (administrator) password is biotrack

Compiling from Source

Power users and those wishing to use our source code to develop on their own will want to compile the programs directly from our source code. In order to do so, you need to make sure that your operating system has the correct libraries and the environment is correctly setup. All of our source code is available here: http://github.com/biotracking/biotrack/

Setup

This guide assumes that you are starting with a fresh install of Ubuntu 12.04. Here are notes on Installing Ubuntu. If you just go through this entire guide, step-by-step, your installation of Ubuntu will be configured in the same fashion as our development environments and you can get working with Biotracking. For notes on compiling for Mac OS X see here

Very New Users [optional]

If you are super new to Linux, the way to quickly carry out powerful commands is through the "Terminal." You can open the terminal by clicking the large Ubuntu Button at the top left corner of the screen and typing "Terminal." Then, throughout this guide, when you see commands highlighted in boxes like this
 ls -a

You can simply copy them into the terminal (NOTE to paste in the terminal you must press CTRL+SHIFT+V) and hit ENTER.

Open In Terminal [optional]

For users new to Linux and using the terminal for the first time, one of the biggest difficulties can be navigating to the correct folder location. Typing in this command will let you open a new terminal by right clicking in whatever folder you are currently working inside.
 sudo apt-get install nautilus-open-terminal

VirtualBox Adjustments [optional]

If you are using VirtualBox to run Ubuntu, sometimes the display runs at a very low resolution which can be cumbersome. You need to go to VirtualBox's Menu option Devices and select Install Guest Additions:
 Devices>Install Guest Additions

Agree to whatever warnings occur, and then restart VirtualBox. Now when you go to adjust display settings, you can choose a higher resolution for your virtual monitor.

Cmake-Gui [totally]

This is a handy graphical tool for configuring how libraries are made
 sudo apt-get install cmake-qt-gui

Updates

Update

First we want to make sure that all your components are updated

 sudo apt-get update
 sudo apt-get upgrade

GIT Let's you retreive latest versioned downloads of source code from Github

 sudo apt-get install git

SVN Let's you retreive latest versioned downloads of source code

 sudo apt-get install subversion

Codecs

  sudo apt-get install gstreamer0.10

BioTrack Repository

BioTrack GIT

This downloads the latest version of our software to your desktop
 sudo apt-get install git
 cd ~/Desktop
 git clone https://github.com/biotracking/biotrack.git

Environmental Setup

QTcreator

 sudo apt-get install qtcreator

OpenCV

This is based off the tutorial which you can follow in more detail here: Samontab Tutorial

First get all the dependencies

 sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev \
 libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev \
 libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

Then get the actual OpenCV code

 wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.2/OpenCV-2.4.2.tar.bz2
 tar -xvf OpenCV-2.4.2.tar.bz2
 cd OpenCV-2.4.2
 mkdir build
 cd build
 cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

Make sure that the output of that last command does not say "error" anywhere, and that the line "FFMPEG:" says "YES"

 make
 sudo make install

Now we have to configure OpenCV so that our programs know how to access these libraries

 sudo gedit /etc/ld.so.conf.d/opencv.conf

When this file opens, type in this line at the end of the file

"/usr/local/lib"
 (it may be an empty file, but that's ok) and save it

Run this in the terminal

 sudo ldconfig

Now we have to edit one more file

 sudo gedit /etc/bash.bashrc

Add these two lines at the end of the file and save it

 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
 export PKG_CONFIG_PATH

Point Cloud Library

This library is traditionally used in robotics for reconstructing environments and detecting shapes using 3D data. We have engineered parts of this library to perform optimized 2D tracking within MultiTrack.

First we do a binary install because it also quickly adds all the dependencies (like Eigen3, FLANN, Boost...) necessary to run PCL

Install all PCL dependencies

 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
 sudo apt-get update
 sudo apt-get install libpcl-all

Restart System

After all this configuring, your programs will only compile and run after you restart the entire system.

Additional Notes for Developers [Optional]

Ignore this section if you simply want to run and use the BioTrack Pack. If you want to optomize your system for actually developing, however, it can be helpful to perform a couple additional commands

 sudo apt-get install phonon-backend-gstreamer
 sudo apt-get install qt-sdk

Maybe also

 sudo apt-get install libqt4-dbg

If you want to Debug one of the projects, make sure that the

Packaging and Deploying a C++ Project with Multiple Dependencies in Ubuntu

Statically compiling a project that uses many independent libraries can be prohibitively tricky. There can also be weird legal problems with building other libraries into your binary if they are not GPL'ed. Instead we found a simpler method for sharing a binary and its dependencies in one neat little package.

  1. First build a normal release binary as if you were just normally developing
  2. Next go into this release directory and run this command. It will copy every dependency needed by the binary to the folder of your choice!
 cp `ldd NAMEOFYOURRELEASE | sed -re s/^.+\=\>// | sed -re 's/^(.+) \(.+\)/\1/'` FOLDERNAMETOPUTLIBRARIES/
for NAMEOFYOURRELEASE put the name of the executeable binary file that you created,
and for FOLDERNAMETOPUTLIBRARIES put the name of a folder that you would wish to copy all the dependencies into
3. Now we need to tell the executable where to look for the dependencies when it is on a strange new computer.
Go into your .pro file for your project and add these two lines
 QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/FOLDERNAMETOPUTLIBRARIES
 QMAKE_LFLAGS_RPATH=

Now you should be able to move this binary and its folder of dependencies wherever you want!

Notes on Mac OS X

All of the information provided above is for installing BioTrack Pack on a computer running Ubuntu 12.04. The easiest way to run our software on a mac is to either download the binaries provided here or download the VirtualBox image, however it is possible to compile our software and all the libraries it depends upon natively for OS X. To do this, you should be comfortable configuring and installing unix software on a mac. For the most part, this involves downloading source packages and running ./configure; make; sudo make install. When specific configuration options are needed they will be mentioned.

Additional software

  • Xcode - available from the app store in the most recent versions of OS X.
  • pkg-config - use version 0.25 as newer versions no longer include several large dependencies.

Qt for Mac

Qt has binaries available here.

OpenCV

  • cmake - this should be built from source (I have not tested using the binaries).
  • python - mac's now ship with python installed by default.
  • yasm - download the source .tar.gz file
  • x264 - the main download button links to the current stable snapshot. If you encounter errors, x264-snapshot-20120603-2245-stable.tar.bz2
is known to work.

PCL

The Point Cloud Library has a page with links for pre-built binaries for many of the pcl library dependencies, but if you want to compile 'everything' from source, the project pages for the respective libraries are linked below.

  • boost - tested with version 1.49, newer versions should work
  • libusb-devel - tested with version 1.0.8.20101017-2
  • flann - tested with version 1.7.1 compiled from source (not using MacPorts)
  • eigen - tested with snapshot eigen-eigen-6e7488e20373.tar.bz2
  • openni-dev-bin - from this page you need to pick the following options from the drop down menus: OpenNI Binaries; Unstable; OpenNI Unstable Build for MacOSX 10.7
The key to getting the point cloud library to build correctly after all of the required dependencies are installed is to make sure the correct configuration options are used. Specifically, by default cmake will try to use the clang compiler instead of g++. Using either the cmake-gui or ccmake, make sure the option CMAKE_CXX_COMPILER points to /usr/bin/g++ and not /usr/bin/c++. Then, if all the dependencies are installed correctly, you should be able to build and install PCL.