SwisTrack/Developers/Setting up a development environment/Linux
Prerequisites
editYou need the following programs and libraries:
The following libraries are optional and only necessary if you want to use the corresponding cameras:
- Basler Pylon driver
- Firewire camera driver
Ubuntu 12.04 and later
editInstall Subversion
sudo apt-get install subversion
Install wxWidgets:
sudo apt-get install libwxgtk3.0-dev
Install OpenCV2:
sudo apt-get install libopencv-dev
Checkout the trunk of the svn repository:
svn checkout svn://svn.code.sf.net/p/swistrack/code/trunk
Compile:
cd trunk make
Run:
cd SwisTrackEnvironment ./SwisTrack
Ubuntu 8.04
editOn Ubuntu 8.04, it should be enough to install the packages
- libwxgtk2.8-dev (wxWidgets)
- libhighgui-dev (OpenCV)
- libcvaux-dev (OpenCV)
Use Synaptic Packet Manager or type
sudo apt-get install libwxgtk2.8-dev sudo apt-get install libhighgui-dev libcvaux-dev
on the terminal to install these packages.
Other distributions
editIf your distribution does not provide a package, you can compile and install these libraries manually.
Manually Installing OpenCV
editDownload the OpenCV 1.0 sources [ http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/1.0/ ]and compile and install them:
tar xfz opencv-1.0.0.tar.gz cd opencv-1.0.0 ./configure --prefix=/usr make sudo make install
For detailed installation instructions, check out the INSTALL file.
Note that the current SwisTrack Makefile expects OpenCV to be installed with the prefix /usr. If you install it elsewhere, do not forget to modify the INCL_DIRS line in the Makefile appropriately.
When installing OpenCV 1.0 in newer Ubuntu distributions you may find the following issues:
1) Error message:
../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression
To fix it, change line 133 in cxmisc.h from #elif to #else.
2) Error message:
../../../otherlibs/highgui/.libs/libhighgui.so: undefined reference to `cvCaptureFromCAM_V4L(int)'
To fix it, add #define HAVE_CAMV4L after line 24 in cvconfig.h
3) Error message:
cvcap_v4l.cpp:208:28: fatal error: linux/videodev.h: No such file or directory
To fix it, install libv4l-dev and link to it with the following commands:
sudo apt-get install libv4l-dev sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
Manually Installing wxWidgets
editDownload the wxWidgets 2.8.8 sources (either wxGTK or wxAll) [ http://sourceforge.net/projects/wxwindows/files/wxAll/2.8.8/ ] and compile and install them.
tar xfz wxWidgets-2.8.8.tar.gz cd wxWidgets-2.8.8 ./configure make sudo make install
You are free to change the prefix here, as SwisTrack uses 'wx-config' to locate wxWidgets.
Installing Optional Libraries
editIf you have a FireWire camera, install the 1394camera driver.
Installing OpenCV legacy packages
editDepending on the opencv version installed in your system, you may also need to install the OpenCV legacy packages. In that case, run the following command:
sudo apt-get install libcv-dev libhighgui-dev libcvaux-dev libcv2.3 libcvaux2.3 libhighgui2.3
Library Paths
editDepending on your system configuration, SwisTrack will complain about missing libraries. You may see error messages like this:
./SwisTrack: error while loading shared libraries: libwx_gtk2_aui-2.8.so.0: cannot open shared object file: No suchfile or directory
In this case, you need to set your LD_LIBRARY_PATH variable to point to the directory where these libraries are installed. If you are using a bash shell, this can be achieved as follows:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
On Ubuntu 10.10 the following is required : export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
and create a dynamic link on the cvaux libs : sudo ln -s libcvaux.so.2.1 libcvaux.so
in /usr/lib/